Package org.geotools.feature
Class AttributeImpl
- Object
-
- PropertyImpl
-
- AttributeImpl
-
- Direct Known Subclasses:
ComplexAttributeImpl
,GeometryAttributeImpl
public class AttributeImpl extends PropertyImpl implements Attribute
Simple, mutable class to store attributes.- Author:
- Rob Hranac, VFNY, Chris Holmes, TOPP, Ian Schneider, Jody Garnett, Gabriel Roldan
-
-
Field Summary
Fields Modifier and Type Field Description protected Identifier
id
id of the attribute.-
Fields inherited from class PropertyImpl
descriptor, value
-
-
Constructor Summary
Constructors Constructor Description AttributeImpl(Object content, AttributeDescriptor descriptor, Identifier id)
AttributeImpl(Object content, AttributeType type, Identifier id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Override of equals.AttributeDescriptor
getDescriptor()
ThePropertyDscriptor
of the property, null if this is a top-level value.Identifier
getIdentifier()
Unique Identifier for the attribute.AttributeType
getType()
The type of the property.int
hashCode()
Override of hashCode.protected Object
parse(Object value)
Allows this Attribute to convert an argument to its prefered storage type.void
setValue(Object newValue)
Override of setValue to convert the newValue to specified type if need be.String
toString()
void
validate()
Check the attribute value against the constraints provided by the AttributeDescriptor.-
Methods inherited from class PropertyImpl
getName, getUserData, getUserData, getValue, isNillable
-
Methods inherited from interface Property
getName, getUserData, getValue, hasUserData, isNillable
-
-
-
-
Field Detail
-
id
protected Identifier id
id of the attribute.
-
-
Constructor Detail
-
AttributeImpl
public AttributeImpl(Object content, AttributeDescriptor descriptor, Identifier id)
-
AttributeImpl
public AttributeImpl(Object content, AttributeType type, Identifier id)
-
-
Method Detail
-
getIdentifier
public Identifier getIdentifier()
Description copied from interface:Attribute
Unique Identifier for the attribute.This value is non-null in the case that
getType().isIdentifiable()
istrue
.- Specified by:
getIdentifier
in interfaceAttribute
- Returns:
- A unique identifier for the attribute, or
null
if the attribute is non-identifiable.
-
getDescriptor
public AttributeDescriptor getDescriptor()
Description copied from interface:Property
ThePropertyDscriptor
of the property, null if this is a top-level value.The descriptor provides information about the property with respect to its containing entity (more often then not a
Feature
orComplexAttribute
.- Specified by:
getDescriptor
in interfaceAttribute
- Specified by:
getDescriptor
in interfaceProperty
- Overrides:
getDescriptor
in classPropertyImpl
- Returns:
- The property descriptor, null if this is a top-level value.
- See Also:
ComplexAttribute
-
getType
public AttributeType getType()
Description copied from interface:Property
The type of the property.The type contains information about the value or content of the property such as its java class.
This value is also available via
getDescriptor().getType()
.- Specified by:
getType
in interfaceAttribute
- Specified by:
getType
in interfaceProperty
- Overrides:
getType
in classPropertyImpl
- Returns:
- The property type.
- See Also:
Property.getType()
-
setValue
public void setValue(Object newValue) throws IllegalArgumentException, IllegalStateException
Override of setValue to convert the newValue to specified type if need be.- Specified by:
setValue
in interfaceProperty
- Overrides:
setValue
in classPropertyImpl
- Parameters:
newValue
- The new value of the property.- Throws:
IllegalArgumentException
IllegalStateException
-
hashCode
public int hashCode()
Override of hashCode.- Overrides:
hashCode
in classPropertyImpl
- Returns:
- hashCode for this object.
-
equals
public boolean equals(Object obj)
Override of equals.- Overrides:
equals
in classPropertyImpl
- Parameters:
obj
- the object to be tested for equality.- Returns:
- whether other is equal to this attribute Type.
-
validate
public void validate()
Description copied from interface:Attribute
Check the attribute value against the constraints provided by the AttributeDescriptor.Please note this method checks the value only - it should have the correct java binding, it should only be null if isNillable is true; and if a value is provided it should satisfy all of the restrictions provided.
To check the the number of times an attribute is used (minOccurs and maxOccurs) please use ComplexAttribute.validate().
-
toString
public String toString()
- Overrides:
toString
in classPropertyImpl
-
parse
protected Object parse(Object value) throws IllegalArgumentException
Allows this Attribute to convert an argument to its prefered storage type. If no parsing is possible, returns the original value. If a parse is attempted, yet fails (i.e. a poor decimal format) throw the Exception. This is mostly for use internally in Features, but implementors should simply follow the rules to be safe.- Parameters:
value
- the object to attempt parsing of.- Returns:
value
converted to the preferred storage of thisAttributeType
. If no parsing was possible then the same object is returned.- Throws:
IllegalArgumentException
- if parsing is attempted and is unsuccessful.
-
-