public abstract class PropertyTypeImpl extends Object implements PropertyType
| Modifier and Type | Field and Description |
|---|---|
protected Class<?> |
binding |
protected InternationalString |
description |
protected boolean |
isAbstract |
protected Name |
name |
protected List<Filter> |
restrictions |
protected PropertyType |
superType |
protected Map<Object,Object> |
userData |
| Constructor and Description |
|---|
PropertyTypeImpl(Name name,
Class<?> binding,
boolean isAbstract,
List<Filter> restrictions,
PropertyType superType,
InternationalString description) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object other)
Equality based on property
PropertyType.getName(). |
Class<?> |
getBinding()
The java class that values of properties of the property type are bound to.
|
InternationalString |
getDescription()
Human readable description of this property type.
|
Name |
getName()
The name of the property type.
|
List<Filter> |
getRestrictions()
List of restrictions used define valid values for properties of this property type.
|
PropertyType |
getSuper()
The parent type of the property type.
|
Map<Object,Object> |
getUserData()
A map of "user data" which enables applications to store "application-specific" information
against a property type.
|
int |
hashCode()
Hashcode override based on
PropertyType.getName(). |
boolean |
isAbstract()
Flag indicating if the type is abstract or not.
|
String |
toString() |
protected final Name name
protected final Class<?> binding
protected final boolean isAbstract
protected final PropertyType superType
protected final InternationalString description
public PropertyTypeImpl(Name name, Class<?> binding, boolean isAbstract, List<Filter> restrictions, PropertyType superType, InternationalString description)
public Name getName()
PropertyTypeNote that this is not the same name as Property.getName(), which is the name of
the instance of the type, not the type itself.
The returned name is a qualified name made up of two parts. The first a namespace uri
(Name.getNamespaceURI(), and the second a local part (Name.getLocalPart().
This value is never null.
getName in interface PropertyTypepublic Class<?> getBinding()
PropertyTypeThis value is never null.
getBinding in interface PropertyTypepublic boolean isAbstract()
PropertyTypeisAbstract in interface PropertyTypetrue if the type is abstract, otherwise false.public List<Filter> getRestrictions()
PropertyTypeEach restriction is a Filter object in which the property is passed through. If
Filter.evaluate(Object) returns true the restriction is met. If
false is returned then the restriction has not been met and the property should be
considered invalid. Remember to check getSuper().getRestrictions() as well.
This method returns an empty set in the case of no restrictions and should not return
null.
getRestrictions in interface PropertyTypepublic PropertyType getSuper()
PropertyTypeThis method returns null if no super type is defined.
The super type may contain additional restrictions to be considered against properties of the the property type.
getSuper in interface PropertyTypenull.public InternationalString getDescription()
PropertyTypegetDescription in interface PropertyTypepublic int hashCode()
PropertyTypePropertyType.getName().hashCode in interface PropertyTypehashCode in class Objectpublic boolean equals(Object other)
PropertyTypePropertyType.getName().equals in interface PropertyTypeequals in class Objecttrue if other is a PropertyType with the same namepublic Map<Object,Object> getUserData()
PropertyTypeAs an example, consider an application that builds a PropertyType from an xml schema. A useful bit of information to attach to the PropertyType is the original schema itself, in whatever construct it might be stored in:
XSDComplexTypeDefinition complexTypeDef = ...;
PropertyType type = buildPropertyType( complexTypeDef );
type.getUserData().put( XSDComplexTypeDefintion.class, complexTypeDef );
getUserData in interface PropertyTypeCopyright © 1996–2021 Geotools. All rights reserved.