|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opensaml.SAMLObject
org.opensaml.SAMLAttribute
Basic SAML Attribute implementation that handles rudimentary attribute value types
Field Summary | |
protected long |
lifetime
Effective lifetime of attribute's value(s) in seconds (0 means infinite) |
protected String |
name
Name of attribute |
protected String |
namespace
Namespace/qualifier of attribute |
protected QName |
type
The schema type of attribute value(s) |
protected ArrayList |
values
An array of attribute values |
Fields inherited from class org.opensaml.SAMLObject |
config, dirty, log, parentObject, root |
Constructor Summary | |
SAMLAttribute()
Default constructor |
|
SAMLAttribute(Element e)
Reconstructs an attribute from a DOM tree |
|
SAMLAttribute(InputStream in)
Reconstructs an attribute from a stream |
|
SAMLAttribute(String name,
String namespace,
QName type,
long lifetime,
Collection values)
Builds an Attribute out of its component parts |
Method Summary | |
void |
addValue(Object value)
Adds a value to the attribute |
protected Element |
buildRoot(Document doc,
boolean xmlns)
Delegates the process of building the root element of an object and inserting appropriate namespaces. |
void |
checkValidity()
Evaluates the object's content to see if it is currently valid if serialized. |
Object |
clone()
Copies a SAML object such that no dependencies exist between the original and the copy. |
protected String |
computeTypeDecl(Element e)
Computes the xsi:type attribute on each AttributeValue element with any supporting declarations created. |
void |
fromDOM(Element e)
Initialization of attribute from a DOM element. |
static String |
getFactory()
Obtains a class name to handle SAML attribute construction from XML |
static SAMLAttribute |
getInstance(Element e)
Locates an implementation class for an attribute and constructs it based on the DOM provided. |
static SAMLAttribute |
getInstance(InputStream in)
Locates an implementation class for an attribute and constructs it based on the stream provided. |
long |
getLifetime()
Gets the value's lifetime, in seconds |
String |
getName()
Gets the AttributeName attribute of the SAML Attribute |
String |
getNamespace()
Gets the AttributeNamespace attribute of the SAML Attribute |
QName |
getType()
Gets the value of the xsi:type attribute, if any, of the SAML Attribute |
NodeList |
getValueElements()
Gets the set of existing AttributeValue elements, if the DOM exists. |
Iterator |
getValues()
Gets the values of the SAML Attribute |
void |
removeValue(int index)
Removes a value by position (zero-based) |
static String |
setFactory(String className)
Registers a class name to handle SAML attribute construction from XML |
void |
setLifetime(long lifetime)
Sets the value's lifetime, in seconds |
void |
setName(String name)
Sets the AttributeName attribute of the SAML Attribute |
void |
setNamespace(String namespace)
Sets the AttributeNamespace attribute of the SAML Attribute |
void |
setType(QName type)
Sets the value of the xsi:type attribute, if any, of the SAML Attribute |
void |
setValues(Collection values)
Sets the values of the attribute |
Node |
toDOM(Document doc,
boolean xmlns)
Transforms the object into a DOM tree using an existing document context |
protected void |
valueFromDOM(Element e)
Creates the internal representation of an attribute value from the specified element. |
protected void |
valueToDOM(int index,
Element e)
Creates the DOM representation of an attribute value in the specified element. |
Methods inherited from class org.opensaml.SAMLObject |
fromStream, fromStream, getParent, plantRoot, setDirty, setParent, toBase64, toDOM, toDOM, toDOM, toStream, toString |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected String name
protected String namespace
protected QName type
protected long lifetime
protected ArrayList values
Constructor Detail |
public SAMLAttribute()
public SAMLAttribute(String name, String namespace, QName type, long lifetime, Collection values) throws SAMLException
name
- Name of attributenamespace
- Namespace/qualifier of attributetype
- The schema type of attribute value(s)lifetime
- Effective lifetime of attribute's value(s) in
seconds (0 means infinite)values
- An array of attribute values
SAMLException
- Thrown if attribute cannot be built from the
supplied informationpublic SAMLAttribute(Element e) throws SAMLException
e
- The root of a DOM tree
SAMLException
- Thrown if the object cannot be constructedpublic SAMLAttribute(InputStream in) throws SAMLException
in
- A stream containing XML
SAMLException
- Raised if an exception occurs while constructing
the object.Method Detail |
public static String setFactory(String className)
className
- The Java class to registerpublic static String getFactory()
public static SAMLAttribute getInstance(Element e) throws SAMLException
e
- The root of a DOM containing the SAML attribute
SAMLException
- Thrown if an error occurs while constructing the objectpublic static SAMLAttribute getInstance(InputStream in) throws SAMLException
in
- The stream to deserialize from
SAMLException
- Thrown if an error occurs while constructing the objectpublic void fromDOM(Element e) throws SAMLException
Checks the attribute's syntactic validity. An exception is thrown if any problems are detected. The exception will contain a message describing the problem, and may wrap another exception.
Because attributes are generalized, this base method only handles attributes whose values are of uniform schema type. The attribute's schema type is set by the first xsi:type attribute found in the value list, if any.
The addValue method is used to actually process the values, and can be overridden to handle more complex values
fromDOM
in class SAMLObject
e
- Root element of a DOM tree
SAMLException
- Raised if an exception occurs while constructing the object.protected void valueFromDOM(Element e) throws SAMLException
The base implementation handles simple string values by extracting a single Text node. Override this method in your subclass to perform more advanced processing.
e
- The AttributeValue element to read from
SAMLException
- Raised if an error occurs while parsing the DOMpublic String getName()
public void setName(String name)
name
- The name valuepublic String getNamespace()
public void setNamespace(String namespace)
namespace
- The name valuepublic QName getType()
public void setType(QName type)
type
- The schema type valuepublic long getLifetime()
public void setLifetime(long lifetime)
lifetime
- The effective lifetime of the attribute value, in seconds (0
means infinite)public Iterator getValues()
public NodeList getValueElements()
public void setValues(Collection values) throws SAMLException
values
- The values to use
SAMLException
- Raised if the value cannot be added to the attributepublic void addValue(Object value) throws SAMLException
value
- The value to add
SAMLException
- Raised if the value cannot be properly addedpublic void removeValue(int index) throws IndexOutOfBoundsException
index
- The position of the value to remove
IndexOutOfBoundsException
protected String computeTypeDecl(Element e)
e
- The root element of the attribute
protected Element buildRoot(Document doc, boolean xmlns)
SAMLObject
buildRoot
in class SAMLObject
doc
- The document context to usexmlns
- Include namespace(s) on root element?
SAMLObject.buildRoot(org.w3c.dom.Document,boolean)
protected void valueToDOM(int index, Element e) throws SAMLException
The base implementation handles string values by creating a single Text node. Override this method in your subclass to perform more advanced processing.
index
- The position of the attribute value to DOM-ifye
- The AttributeValue element to write into
SAMLException
- Raised if an error occurs while creating the DOMpublic Node toDOM(Document doc, boolean xmlns) throws SAMLException
SAMLObject
toDOM
in class SAMLObject
doc
- A Document object to use in manufacturing the treexmlns
- Include namespace(s) on root element?
SAMLException
- Raised if the object is incompletely definedSAMLObject.toDOM(org.w3c.dom.Document,boolean)
public void checkValidity() throws SAMLException
SAMLObject
checkValidity
in class SAMLObject
SAMLException
- Raised if the serialized object would be invalid SAML,
excluding any embedded objectsSAMLObject.checkValidity()
public Object clone() throws CloneNotSupportedException
clone
in class SAMLObject
CloneNotSupportedException
Object.clone()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |