source: fedd/abac-src/rbtm/engine/old/ProofNode1.java1 @ 7321a43

version-1.30
Last change on this file since 7321a43 was 8780cbec, checked in by Jay Jacobs <Jay.Jacobs@…>, 15 years ago

ABAC sources from Cobham

  • Property mode set to 100644
File size: 1.6 KB
Line 
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 addForwardListener(ForwardSolutionListener sl);
24
25        void forwardProcess();
26
27        /**
28         * add a node as a parent to this node
29         * @param  node: the parent node
30         */
31        void addParent(ProofNode node, Object evidence);
32
33        void addChild(ProofNode node, Object evidence);
34
35        Set getForwardSolutions();
36
37        Set getBackwardSolutions();
38
39        /**
40         * Enable this node for backward searching, it then should store all
41         * backward solutions (entities that are member of this node).
42         */
43        // void enableAllBackwardGoals();
44
45        /**
46     * If one only wants to know whether this node has some particular
47         * backward solutions, and doesn't care about others, then one can use
48         * this call to tell this proof node.  It might improve efficiency in
49         * bi-direction search.
50         */
51    // void enableBackwardGoal(EntityExpression g);
52
53    // void enableAllForwardGoals();
54    // void enableForwardGoal(EntityExpression g);     
55
56    // boolean hasParent(ProofNode node);
57    // boolean hasChild(ProofNode node);
58
59} // End of class ProofNode
60
Note: See TracBrowser for help on using the repository browser.