Clover Coverage Report
Coverage timestamp: Sun Mar 23 2008 08:24:39 GMT
0   87   1   -
0   9   -   0
0     -  
1    
 
 
  RuleComparator       Line # 59 0 1 - -1.0
 
No Tests
 
1    /*
2    * Copyright (c) 2006, University of Kent
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * Redistributions of source code must retain the above copyright notice, this
9    * list of conditions and the following disclaimer.
10    *
11    * Redistributions in binary form must reproduce the above copyright notice,
12    * this list of conditions and the following disclaimer in the documentation
13    * and/or other materials provided with the distribution.
14    *
15    * 1. Neither the name of the University of Kent nor the names of its
16    * contributors may be used to endorse or promote products derived from this
17    * software without specific prior written permission.
18    *
19    * 2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22    * PURPOSE ARE DISCLAIMED.
23    *
24    * 3. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31    * POSSIBILITY OF SUCH DAMAGE.
32    *
33    * 4. YOU AGREE THAT THE EXCLUSIONS IN PARAGRAPHS 2 AND 3 ABOVE ARE REASONABLE
34    * IN THE CIRCUMSTANCES. IN PARTICULAR, YOU ACKNOWLEDGE (1) THAT THIS
35    * SOFTWARE HAS BEEN MADE AVAILABLE TO YOU FREE OF CHARGE, (2) THAT THIS
36    * SOFTWARE IS NOT "PRODUCT" QUALITY, BUT HAS BEEN PRODUCED BY A RESEARCH
37    * GROUP WHO DESIRE TO MAKE THIS SOFTWARE FREELY AVAILABLE TO PEOPLE WHO WISH
38    * TO USE IT, AND (3) THAT BECAUSE THIS SOFTWARE IS NOT OF "PRODUCT" QUALITY
39    * IT IS INEVITABLE THAT THERE WILL BE BUGS AND ERRORS, AND POSSIBLY MORE
40    * SERIOUS FAULTS, IN THIS SOFTWARE.
41    *
42    * 5. This license is governed, except to the extent that local laws
43    * necessarily apply, by the laws of England and Wales.
44    */
45   
46    /*
47    * Comparator.java
48    *
49    * Created on February 21, 2006, 9:51 AM
50    */
51   
52    package issrg.pba.rbac;
53   
54    import issrg.pba.ParsedToken;
55    import issrg.pba.rbac.policies.AssignmentRule;
56    import java.util.Vector;
57   
58   
 
59    public interface RuleComparator {
60    /**
61    *This function will take the vector of asserted RARs of issuer, ignore unrelevant RARs for the assertion,
62    * and sort relevant RARs according to the assertion
63    *@param assertion is either a credentials or a RoleAssignmentRule of the holder that needs to be validated
64    *@param tokens stores all the RARs of issuer
65    *@param holder is the holder of the assertion credentials or the RoleAssignmentRule
66    *@return an array of ParsedToken that is sorted according to the assertion.
67    */
68   
69    public ParsedToken[] predict(Object assertion, Vector tokens, issrg.utils.repository.Entry holder);
70   
71    /**
72    * This function test whether the constrained assertion is good enough
73    *@param asRAR is the RoleAssignmentRule of the issuer
74    *@param vaRAR is the validated RoleAssignmentRule of the issuer. Both of these RoleAssignmentRules may be null.
75    *If they are null, it means RoleAssignmentRule of the issuer is totally trusted and we do not care about it.
76    *@param assertion is either a credentials or a RoleAssignmentRule of the holder that needs to be validated
77    *@param validated is a validated credentials or validated RoleAssignmentRules of the holder
78    *@return a boolean value. If it is true then the issuer's RAR is good enough for validating the request and
79    *we do not need to use another issuer'RAR for validating the request. Otherwise, we need to use another RAR
80    *to validate the request. Currently, this function simply return true.
81    *
82    */
83    public boolean isSufficient(AssignmentRule asRAR, AssignmentRule vaRAR, Object assertion, Object validated);
84   
85    public void setFlag (boolean manySOAs);
86   
87    }