org.wso2.balana.finder.impl
Class CurrentEnvModule

java.lang.Object
  extended by org.wso2.balana.finder.AttributeFinderModule
      extended by org.wso2.balana.finder.impl.CurrentEnvModule

public class CurrentEnvModule
extends AttributeFinderModule

Supports the current date, time, and dateTime values. The XACML specification states that these three values must always be available to a PDP. They may be included in the request, but if they're not, a PDP must be able to recognize the attribute and generate a correct value.

The XACML specification doesn't require that values be cached (ie, remain consistent within an evaluation), but does allow it. Any caching, as well as details of which time to use (time at the PEP, PDP, etc.) is taken care of by the EvaluationCtx which is used to supply the current values.

Since:
1.0
Author:
Seth Proctor

Field Summary
static String ENVIRONMENT_CURRENT_DATE
          Standard environment variable that represents the current date
static String ENVIRONMENT_CURRENT_DATETIME
          Standard environment variable that represents the current date and time
static String ENVIRONMENT_CURRENT_TIME
          Standard environment variable that represents the current time
 
Constructor Summary
CurrentEnvModule()
           
 
Method Summary
 EvaluationResult findAttribute(URI attributeType, URI attributeId, String issuer, URI category, EvaluationCtx context)
          Used to get the current time, date, or dateTime.
 Set<String> getSupportedCategories()
          Returns a Set with a single String specifying that environment attributes are supported by this module.
 boolean isDesignatorSupported()
          Returns true always because this module supports designators.
 
Methods inherited from class org.wso2.balana.finder.AttributeFinderModule
findAttribute, getIdentifier, getSupportedIds, invalidateCache, isSelectorSupported
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENVIRONMENT_CURRENT_TIME

public static final String ENVIRONMENT_CURRENT_TIME
Standard environment variable that represents the current time

See Also:
Constant Field Values

ENVIRONMENT_CURRENT_DATE

public static final String ENVIRONMENT_CURRENT_DATE
Standard environment variable that represents the current date

See Also:
Constant Field Values

ENVIRONMENT_CURRENT_DATETIME

public static final String ENVIRONMENT_CURRENT_DATETIME
Standard environment variable that represents the current date and time

See Also:
Constant Field Values
Constructor Detail

CurrentEnvModule

public CurrentEnvModule()
Method Detail

isDesignatorSupported

public boolean isDesignatorSupported()
Returns true always because this module supports designators.

Overrides:
isDesignatorSupported in class AttributeFinderModule
Returns:
true always

getSupportedCategories

public Set<String> getSupportedCategories()
Returns a Set with a single String specifying that environment attributes are supported by this module.

Overrides:
getSupportedCategories in class AttributeFinderModule
Returns:
a Set with AttributeDesignator included

findAttribute

public EvaluationResult findAttribute(URI attributeType,
                                      URI attributeId,
                                      String issuer,
                                      URI category,
                                      EvaluationCtx context)
Used to get the current time, date, or dateTime. If one of those values isn't being asked for, or if the types are wrong, then an empty bag is returned.

Overrides:
findAttribute in class AttributeFinderModule
Parameters:
attributeType - the datatype of the attributes to find, which must be time, date, or dateTime for this module to resolve a value
attributeId - the identifier of the attributes to find, which must be one of the three ENVIRONMENT_* fields for this module to resolve a value
issuer - the issuer of the attributes, or null if unspecified
category - the category of the attribute
context - the representation of the request data
Returns:
the result of attribute retrieval, which will be a bag with a single attribute, an empty bag, or an error


Copyright © 2015 WSO2. All rights reserved.