Package org.geotools.api.feature.type
Interface PropertyDescriptor
-
- All Known Subinterfaces:
AssociationDescriptor
,AttributeDescriptor
,ChoiceAttributeType
,ChoiceGeometryType
,GeometryDescriptor
,Operation
- All Known Implementing Classes:
AssociationDescriptorImpl
,AttributeDescriptorImpl
,ChoiceGeometryTypeImpl
,GeometryDescriptorImpl
,PropertyDescriptorImpl
public interface PropertyDescriptor
Describes a Property, and how it relates to its containing entity, which is often aComplexAttribute
.
A property descriptor defines the following about the property:
- type of the property
- the name of the property
- number of allowable occurrences of the property
- nilability of the property
The concept of a descriptor is similar to that of a element declaration in xml. Consider the following xml schema definition:
<complexType name="someComplexType"> <sequence> <element name="foo" minOccurs="2" maxOccurs="4" type="xs:string" nillable="false"/> <sequence> <complexType>
In the above, the element declaration named "foo" maps to a property descriptor. From the above schema, the following property descriptor would result://the complex type ComplexType complexType = ...; //get the descriptor PropertyDescriptor descriptor = complexType.getProperty( "foo" ); //make the following assertions descriptor.getName().getLocalPart().equals( "foo" ); descriptor.getType().getName().getNamespaceURI().equals( "http://www.w3.org/2001/XMLSchema" ) descriptor.getType().getName().getLocalPart().equals( "string" ); descriptor.getMinOccurs() == 2; descriptor.getMaxOccurs() == 4; descriptor.isNillable() == true; //the complex attribute ComplexAttribute complexAttribute = ... complexAttribute.getType() == complexType; //get the properties Collection properties = complexAttribute.getProperties( "foo" ); //make assertions about properties properties.size() >= 2; //minOccurs = 2 properties.size() <= 4; //maxOccurs = 4 for ( Property p : properties ) { p.getDescriptor() == descriptor p.getValue() != null; //nilable = false p.getType().getBinding() == String.class; //type = xs:string p.getValue() instanceof String; //type = xs:string }
- Author:
- Jody Garnett, Refractions Research, Justin Deoliveira, The Open Planning Project
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getMaxOccurs()
The maximum number of occurrences of the property within its containing entity.int
getMinOccurs()
The minimum number of occurrences of the property within its containing entity.Name
getName()
The name of the property defined by the descriptor, with respect to its containing type or entity..PropertyType
getType()
The type of the property defined by the descriptor.Map<Object,Object>
getUserData()
A map of "user data" which enables applications to store "application-specific" information against a property descriptor.boolean
isNillable()
Flag indicating ifnull
is an allowable value for the property.
-
-
-
Method Detail
-
getType
PropertyType getType()
The type of the property defined by the descriptor.This value should never be
null
. The type contains information about the value of the property such as its java class.
-
getName
Name getName()
The name of the property defined by the descriptor, with respect to its containing type or entity..This value may be
null
in some instances. Also note that this is not the same name asgetType().getName()
. The former is the name of the instance, the latter is the name of the type of the instance.
-
getMinOccurs
int getMinOccurs()
The minimum number of occurrences of the property within its containing entity.This value is always an integer greater than or equal to zero.
- Returns:
- An integer >= 0
-
getMaxOccurs
int getMaxOccurs()
The maximum number of occurrences of the property within its containing entity.This value is a positive integer. A value of
-1
means that the max number of occurrences is unbounded.- Returns:
- An integer >= 0, or -1.
-
isNillable
boolean isNillable()
Flag indicating ifnull
is an allowable value for the property.- Returns:
true
if the property is allowed to benull
, otherwisefalse
.
-
-