|
SunTM's XACML Implementation for JavaTM | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.xacml.attr.AttributeValue
The base type for all datatypes used in a policy or request/response,
this abstract class represents a value for a given attribute type.
All the required types defined in the XACML specification are
provided as instances of AttributeValue
s. If you want to
provide a new type, extend this class and implement the
equals(Object)
and hashCode
methods from
Object
, which are used for equality checking.
- Since:
- 1.0
Constructor Summary
protected
AttributeValue(URI type)
Constructor that takes the specific attribute type.
Method Summary
abstract String
encode()
Encodes the value in a form suitable for including in XML data like
a request or an obligation.
void
encode(OutputStream output)
Encodes this AttributeValue
into its XML representation
and writes this encoding to the given OutputStream
with
no indentation.
void
encode(OutputStream output,
Indenter indenter)
Encodes this AttributeValue
into its XML representation
and writes this encoding to the given OutputStream
with
indentation.
String
encodeWithTags(boolean includeType)
Encodes the value and includes the AttributeValue XML tags so that
the resulting string can be included in a valid XACML policy or
Request/Response.
EvaluationResult
evaluate(EvaluationCtx context)
Implements the required interface from Evaluatable
.
boolean
evaluatesToBag()
Returns whether or not this value is actually a bag of values.
List
getChildren()
Always returns an empty list since values never have children.
URI
getType()
Returns the type of this attribute value.
boolean
isBag()
Returns whether or not this value is actually a bag of values.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
AttributeValue
protected AttributeValue(URI type)
- Constructor that takes the specific attribute type.
- Parameters:
type
- the attribute's type
Method Detail
getType
public URI getType()
- Returns the type of this attribute value. By default this always
returns the type passed to the constructor.
- Specified by:
getType
in interface Evaluatable
- Returns:
- the attribute's type
evaluatesToBag
public final boolean evaluatesToBag()
- Returns whether or not this value is actually a bag of values. This
is a required interface from
Evaluatable
, but the
more meaningful isBag
method is used by
AttributeValue
s, so this method is declared as final
and calls the isBag
method for this value.
- Specified by:
evaluatesToBag
in interface Evaluatable
- Returns:
- true if this is a bag of values, false otherwise
getChildren
public List getChildren()
- Always returns an empty list since values never have children.
- Specified by:
getChildren
in interface Evaluatable
- Returns:
- an empty
List
isBag
public boolean isBag()
- Returns whether or not this value is actually a bag of values. By
default this returns
false
. Typically, only the
BagAttribute
should ever override this to return
true
.
- Returns:
- true if this is a bag of values, false otherwise
evaluate
public EvaluationResult evaluate(EvaluationCtx context)
- Implements the required interface from
Evaluatable
.
Since there is nothing to evaluate in an attribute value, the default
result is just this instance. Override this method if you want
special behavior, like a dynamic value.
- Specified by:
evaluate
in interface Evaluatable
- Parameters:
context
- the representation of the request
- Returns:
- a successful evaluation containing this value
encode
public abstract String encode()
- Encodes the value in a form suitable for including in XML data like
a request or an obligation. This must return a value that could in
turn be used by the factory to create a new instance with the same
value.
- Returns:
- a
String
form of the value
encode
public void encode(OutputStream output)
- Encodes this
AttributeValue
into its XML representation
and writes this encoding to the given OutputStream
with
no indentation. This will always produce the version used in a
policy rather than that used in a request, so this is equivalent
to calling encodeWithTags(true)
and then stuffing that
into a stream.
- Specified by:
encode
in interface Evaluatable
- Parameters:
output
- a stream into which the XML-encoded data is written
encode
public void encode(OutputStream output,
Indenter indenter)
- Encodes this
AttributeValue
into its XML representation
and writes this encoding to the given OutputStream
with
indentation. This will always produce the version used in a
policy rather than that used in a request, so this is equivalent
to calling encodeWithTags(true)
and then stuffing that
into a stream.
- Specified by:
encode
in interface Evaluatable
- Parameters:
output
- a stream into which the XML-encoded data is writtenindenter
- an object that creates indentation strings
encodeWithTags
public String encodeWithTags(boolean includeType)
- Encodes the value and includes the AttributeValue XML tags so that
the resulting string can be included in a valid XACML policy or
Request/Response. The
boolean
parameter lets you include
the DataType attribute, which is required in a policy but not allowed
in a Request or Response.
- Parameters:
includeType
- include the DataType XML attribute if
true
, exclude if false
- Returns:
- a
String
encoding including the XML tags
Overview
Package
Class
Tree
Deprecated
Index
Help
Sun's XACML Implementation Version
1.2
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
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.