|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ComplexAttribute
An instance of ComplexType
which is composed of other properties.
A complex attribute is a container for other properties (attributes + associations). The value of a complex attribute is a collection of those contained properties.
getValue()
method returns a collection of the properties
contained by the complex attribute.
ComplexAttribute attribute = ...; //loop through all the properties for (Property p : attribute.getValue(); ) { // do something with the property }
Name
with the
getProperties(Name)
and getProperties(String)
methods.
ComplexAttribute attribute = ...; //loop through all the "foo" attributes for ( Property p : attribute.getProperties( "foo" ) ) { p.getName().getLocalPart() == "foo"; }
getProperty(Name)
and
getProperty(String)
methods can be used to get direct access to the
property.
ComplexAttribute attribute = ...; //get the single foo attribute Property foo = attribute.getProperty( "foo" );
For instance.the expression "//foo"
should return all the
properties named "foo". Or the expression "foo/bar"
should
return the "bar" property nested inside of the "foo" property. In these
cases, an Expression
must be used:
ComplexAttribute attribute = ...; //get the 'foo/bar' property FilterFactory factory = ...; PropertyName xpath = factory.property( "foo/bar" ); Property bar = xpath.evaluate( attribute );
Method Summary | |
---|---|
Collection<Property> |
getProperties()
Complete collection of properties. |
Collection<Property> |
getProperties(Name name)
Returns a subset of the properties of the complex attribute which match the specified name. |
Collection<Property> |
getProperties(String name)
Returns a subset of the properties of the complex attribute which match the specified name. |
Property |
getProperty(Name name)
Returns single property of the complex attribute which matches the specified name. |
Property |
getProperty(String name)
Returns single property of the complex attribute which matches the specified name. |
ComplexType |
getType()
Override of Attribute.getType() which type narrows to
ComplexType . |
Collection<? extends Property> |
getValue()
Override of Property.getValue() which returns the collection of
Property which make up the value of the complex attribute. |
void |
setValue(Collection<Property> values)
Sets the contained properties of the complex attribute. |
void |
validate()
Check the properties against the constraints provided by their AttributeDescriptors. |
Methods inherited from interface Attribute |
---|
getDescriptor, getIdentifier |
Methods inherited from interface Property |
---|
getName, getUserData, isNillable, setValue |
Method Detail |
---|
ComplexType getType()
Attribute.getType()
which type narrows to
ComplexType
.
getType
in interface Attribute
getType
in interface Property
Attribute.getType()
void setValue(Collection<Property> values)
The values should match the structure defined by
getDescriptor()
.
Collection<? extends Property> getValue()
Property.getValue()
which returns the collection of
Property
which make up the value of the complex attribute.
getValue
in interface Property
Collection<Property> getProperties(Name name)
The name parameter is matched against each contained
Property.getName()
, those that are equal are returned.
name
- The name of the properties to return.
Property getProperty(Name name)
Note: This method is a convenience and care should be taken when calling
it if more then a single property matches name. In such a
case the first encountered property in which Property.getName()
is equal to name is returned, and no order is guaranteed.
This method is a safe convenience for:
getProperties(name).iterator().next()
.
In the event that no property matches the specified name
null
is returned.
name
- The name of the property to return.
null
.Collection<Property> getProperties(String name)
This method is a convenience for getProperties(Name)
in which
Name.getNamespaceURI()
is null
.
Note: Special care should be taken when using this method in the case
that two properties with the same local name but different namespace uri
exist. For this reason using getProperties(Name)
is safer.
name
- The local name of the properties to return.
getProperties(Name)
Collection<Property> getProperties()
This method is a convenience method for calling (Collection
Property getProperty(String name)
This method is a convenience for getProperty(Name)
in which
Name.getNamespaceURI()
is null
.
Note: This method is a convenience and care should be taken when calling
it if more then a single property matches name. In such a
case the first encountered property in which Property.getName()
is matches name is returned, and no order is guaranteed.
Note: Special care should be taken when using this method in the case
that two properties with the same local name but different namespace uri
exist. For this reason using getProperties(Name)
is safer.
name
- The local name of the property to return.
null
.void validate() throws IllegalAttributeException
Please note this method checks minOccurs and maxOccurs information; and calls each Attribute.validate on each entry in turn (in order to check isNillable, binding and restrictions).
validate
in interface Attribute
IllegalAttributeException
- If any attribute fails validation
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |