Class PropertyTypeImpl
- Object
-
- PropertyTypeImpl
-
- All Implemented Interfaces:
PropertyType
- Direct Known Subclasses:
AssociationTypeImpl,AttributeTypeImpl
public abstract class PropertyTypeImpl extends Object implements PropertyType
-
-
Field Summary
Fields Modifier and Type Field Description protected Class<?>bindingprotected InternationalStringdescriptionprotected booleanisAbstractprotected Namenameprotected List<Filter>restrictionsprotected PropertyTypesuperTypeprotected Map<Object,Object>userData
-
Constructor Summary
Constructors Constructor Description PropertyTypeImpl(Name name, Class<?> binding, boolean isAbstract, List<Filter> restrictions, PropertyType superType, InternationalString description)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object other)Equality based on propertyPropertyType.getName().Class<?>getBinding()The java class that values of properties of the property type are bound to.InternationalStringgetDescription()Human readable description of this property type.NamegetName()The name of the property type.List<Filter>getRestrictions()List of restrictions used define valid values for properties of this property type.PropertyTypegetSuper()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.inthashCode()Hashcode override based onPropertyType.getName().booleanisAbstract()Flag indicating if the type is abstract or not.StringtoString()
-
-
-
Field Detail
-
name
protected final Name name
-
binding
protected final Class<?> binding
-
isAbstract
protected final boolean isAbstract
-
superType
protected final PropertyType superType
-
description
protected final InternationalString description
-
-
Constructor Detail
-
PropertyTypeImpl
public PropertyTypeImpl(Name name, Class<?> binding, boolean isAbstract, List<Filter> restrictions, PropertyType superType, InternationalString description)
-
-
Method Detail
-
getName
public Name getName()
Description copied from interface:PropertyTypeThe name of the property type.Note 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.- Specified by:
getNamein interfacePropertyType- Returns:
- The name of the property type.
-
getBinding
public Class<?> getBinding()
Description copied from interface:PropertyTypeThe java class that values of properties of the property type are bound to.This value is never
null.- Specified by:
getBindingin interfacePropertyType- Returns:
- The binding of the property type.
-
isAbstract
public boolean isAbstract()
Description copied from interface:PropertyTypeFlag indicating if the type is abstract or not.- Specified by:
isAbstractin interfacePropertyType- Returns:
trueif the type is abstract, otherwisefalse.
-
getRestrictions
public List<Filter> getRestrictions()
Description copied from interface:PropertyTypeList of restrictions used define valid values for properties of this property type.Each restriction is a
Filterobject in which the property is passed through. IfFilter.evaluate(Object)returnstruethe restriction is met. Iffalseis 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.- Specified by:
getRestrictionsin interfacePropertyType- Returns:
- List
used to validate allowable values.
-
getSuper
public PropertyType getSuper()
Description copied from interface:PropertyTypeThe parent type of the property type.This method returns
nullif no super type is defined.The super type may contain additional restrictions to be considered against properties of the the property type.
- Specified by:
getSuperin interfacePropertyType- Returns:
- The parent or super type, or
null.
-
getDescription
public InternationalString getDescription()
Description copied from interface:PropertyTypeHuman readable description of this property type.- Specified by:
getDescriptionin interfacePropertyType- Returns:
- Human readable description of this property type.
-
hashCode
public int hashCode()
Description copied from interface:PropertyTypeHashcode override based onPropertyType.getName().- Specified by:
hashCodein interfacePropertyType- Overrides:
hashCodein classObject- Returns:
- getName().hashCode()
-
equals
public boolean equals(Object other)
Description copied from interface:PropertyTypeEquality based on propertyPropertyType.getName().- Specified by:
equalsin interfacePropertyType- Overrides:
equalsin classObject- Returns:
trueif other is a PropertyType with the same name
-
getUserData
public Map<Object,Object> getUserData()
Description copied from interface:PropertyTypeA map of "user data" which enables applications to store "application-specific" information against a property type.As 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 );- Specified by:
getUserDatain interfacePropertyType- Returns:
- A map of user data.
-
-