Clover Coverage Report
Coverage timestamp: Sun Mar 23 2008 08:24:39 GMT
0   87   1   -
0   9   -   0
0     -  
1    
 
 
  AuthzTokenParser       Line # 45 0 1 - -1.0
 
No Tests
 
1    /*
2    * Copyright (c) 2000-2005, University of Salford
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    * Neither the name of the University of Salford 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    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20    * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21    * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22    * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29    * POSSIBILITY OF SUCH DAMAGE.
30    */
31   
32    package issrg.pba;
33    import issrg.pba.rbac.SignatureVerifier;
34   
35    /**
36    * This interface defines the method needed for extracting the known Credentials
37    * from Authorisation Tokens. It should not be aware of delegation, it simply
38    * extracts the purported set of credentials. The correct allocation of credentials
39    * by the issuer is checked by the Allocation Policy.
40    *
41    * @author A Otenko
42    * @version 1.2
43    */
44   
 
45    public interface AuthzTokenParser {
46    /**
47    * This method decodes the Authorisation Token into internal representation. The rest
48    * of the methods can be used to retrieve data from this token. Note that in
49    * the case that it is a malformed
50    * AuthorisationToken or is not the expected Authorisation Token, an exception will be thrown.
51    *
52    * @params at - implementation-specific object returned by the Repository; it is
53    * the authorisation token to be decoded
54    * @return ParsedToken - implementation-independent representation of the
55    * Authorization token
56    *
57    * @throws PbaException if any error occurs; for example, the given object is
58    * not a proper Authorisation Token that the implementation can handle
59    */
60   
61    public ParsedToken decode(Object at) throws PbaException;
62   
63    /**
64    * This method returns the Auth Token parsing rules currently used by the
65    * parser.
66    */
67    public java.util.Map getAuthTokenParsingRules();
68   
69    /**
70    * This method sets the Auth Token parsing rules.
71    */
72    public void setAuthTokenParsingRules(java.util.Map rules);
73   
74    /**
75    * This method sets the Signature Verifier to be used by the Token Parser.
76    * Token Parsers for tokens that do not have signatures may ignore this
77    * method call.
78    */
79    public void setSignatureVerifier(SignatureVerifier signatureVerifier);
80   
81    /**
82    * This method gets the Signature Verifier used by the Token Parser.
83    * Token Parsers for tokens that do not have signatures may return null.
84    * If the Signature Verifier has not been set yet, the method may return null.
85    */
86    public SignatureVerifier getSignatureVerifier();
87    }