SunTM's XACML Implementation for JavaTM

com.sun.xacml.finder
Class AttributeFinder

java.lang.Object
  extended bycom.sun.xacml.finder.AttributeFinder

public class AttributeFinder
extends Object

This class is used by the PDP to find attribute values that weren't originally supplied in the request. It can be called with the data supplied in AttributeDesignators or AttributeSelectors. Because the modules in this finder may themselves need attribute data to search for attribute data, it's possible that the modules will look for values in the EvaluationCtx, which may in turn result in the invocation of this finder again, so module writers need to be careful about how they build their modules.

Note that unlike the PolicyFinder, this class doesn't always need to use every module it has to find a value. The ordering is maintained, however, so it will always start with the first module, and proceed in order until it finds a value or runs out of modules.

Since:
1.0

Constructor Summary
AttributeFinder()
          Default constructor.
 
Method Summary
 EvaluationResult findAttribute(String contextPath, Node namespaceNode, URI attributeType, EvaluationCtx context, String xpathVersion)
          Tries to find attribute values based on the given selector data.
 EvaluationResult findAttribute(URI attributeType, URI attributeId, URI issuer, URI subjectCategory, EvaluationCtx context, int designatorType)
          Tries to find attribute values based on the given designator data.
 List getModules()
          Returns the ordered List of modules used by this class to find attribute values.
 void setModules(List modules)
          Sets the ordered List of modules used by this class to find attribute values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AttributeFinder

public AttributeFinder()
Default constructor.

Method Detail

getModules

public List getModules()
Returns the ordered List of modules used by this class to find attribute values.

Returns:
the list of modules used by this class

setModules

public void setModules(List modules)
Sets the ordered List of modules used by this class to find attribute values. The ordering will be maintained.

Parameters:
modules - the modules this class will use

findAttribute

public EvaluationResult findAttribute(URI attributeType,
                                      URI attributeId,
                                      URI issuer,
                                      URI subjectCategory,
                                      EvaluationCtx context,
                                      int designatorType)
Tries to find attribute values based on the given designator data. The result, if successful, will always contain a BagAttribute, even if only one value was found. If no values were found, but no other error occurred, an empty bag is returned.

Parameters:
attributeType - the datatype of the attributes to find
attributeId - the identifier of the attributes to find
issuer - the issuer of the attributes, or null if unspecified
subjectCategory - the category of the attribute if the designatorType is SUBJECT_TARGET, otherwise null
context - the representation of the request data
designatorType - the type of designator as named by the *_TARGET fields in AttributeDesignator
Returns:
the result of attribute retrieval, which will be a bag of attributes or an error

findAttribute

public EvaluationResult findAttribute(String contextPath,
                                      Node namespaceNode,
                                      URI attributeType,
                                      EvaluationCtx context,
                                      String xpathVersion)
Tries to find attribute values based on the given selector data. The result, if successful, must always contain a BagAttribute, even if only one value was found. If no values were found, but no other error occurred, an empty bag is returned.

Parameters:
contextPath - the XPath expression to search against
namespaceNode - the DOM node defining namespace mappings to use, or null if mappings come from the context root
attributeType - the datatype of the attributes to find
context - the representation of the request data
xpathVersion - the XPath version to use
Returns:
the result of attribute retrieval, which will be a bag of attributes or an error

Sun's XACML Implementation Version 1.2

Copyright 2003-2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

Sun, Sun Microsystems, the Sun Logo, and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.