source: fedd/abac-src/rbtm/engine/old/ProofNode.java1 @ 55c074c

axis_examplecompt_changesinfo-opsversion-1.30version-2.00version-3.01version-3.02
Last change on this file since 55c074c was 8780cbec, checked in by Jay Jacobs <Jay.Jacobs@…>, 15 years ago

ABAC sources from Cobham

  • Property mode set to 100644
File size: 1.7 KB
RevLine 
[8780cbec]1package edu.stanford.peer.rbtm.engine;
2
3import java.util.*;
4
5import edu.stanford.peer.rbtm.credential.*;
6import edu.stanford.peer.rbtm.util.*;
7
8/*
9 */
10public interface ProofNode extends BackwardSolutionListener, ForwardSolutionListener
11{
12        EntityExpression getRoleExp();
13
14        void addBackwardListener(BackwardSolutionListener sl);
15
16        /**
17         * Process this node for search in the backward direction.  The
18         * implementation of this method should find all nodes that can reach
19         * this node directly and do appropriate things.
20         */
21        void backwardProcess();
22
23        void invalidateBackward();
24
25        void addForwardListener(ForwardSolutionListener sl);
26
27        void forwardProcess();
28
29        void invalidateForward();
30
31        /**
32         * add a node as a parent to this node
33         * @param  node: the parent node
34         */
35        void addParent(ProofNode node, Object evidence);
36
37        void addChild(ProofNode node, Object evidence);
38
39        ResultEvidenceMap getForwardSolutions();
40
41        ResultEvidenceMap getBackwardSolutions();
42
43        /**
44         * Enable this node for backward searching, it then should store all
45         * backward solutions (entities that are member of this node).
46         */
47        // void enableAllBackwardGoals();
48
49        /**
50     * If one only wants to know whether this node has some particular
51         * backward solutions, and doesn't care about others, then one can use
52         * this call to tell this proof node.  It might improve efficiency in
53         * bi-direction search.
54         */
55    // void enableBackwardGoal(EntityExpression g);
56
57    // void enableAllForwardGoals();
58    // void enableForwardGoal(EntityExpression g);     
59
60    // boolean hasParent(ProofNode node);
61    // boolean hasChild(ProofNode node);
62
63} // End of class ProofNode
64
Note: See TracBrowser for help on using the repository browser.