public final class PropertyDefinition extends PropertyInfo
Metadata.registerProperty(PropertyInfo)ID, NAME| Constructor and Description | 
|---|
PropertyDefinition(java.lang.String name,
                  java.lang.Class returnType,
                  java.lang.Class<? extends DBObjectProvider> providerType,
                  java.lang.Class<? extends DBObject>... objTypes)
Creates a new PropertyDescriptor with the given base information. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
PropertyDefinition | 
clone()
Creates a new clone of this PropertyDefinition. 
 | 
protected boolean | 
equalsImpl(PropertyDefinition other)  | 
protected boolean | 
equalsImpl(PropertyInfo other)  | 
Nullable.NullBehaviour | 
getNullBehaviour()
Gets the NullBehaviour for this property - i.e. 
 | 
java.lang.Integer | 
getNumberUnlimitedValue()
Gets the value that represents UNLIMITED for this property. 
 | 
protected java.util.Collection<java.lang.Class<? extends DBObject>> | 
getObjectClasses()
If this property is restricted to certain object classes this returns
 those classes. 
 | 
java.lang.Class | 
getPropertyClass()
Returns the class expected for values of this property. 
 | 
java.lang.String | 
getPropertyName()
Returns the name of the property. 
 | 
protected java.lang.Class<? extends DBObjectProvider> | 
getProviderClass()
If this property is restricted to a given provider class this returns
 that class. 
 | 
java.lang.Class<? extends DBObject> | 
getReferencedClass()
If this property is a reference property (i.e. 
 | 
java.lang.String[] | 
getReferencedTypes()
If this property is a reference property this returns the object types
 that can be referenced by the DBObjectID value. 
 | 
int | 
hashCode()  | 
boolean | 
isNumberPhysicalSize()
Tests whether this is a number property that is a physical size so can
 be displayed as bytes, kilobytes, megabytes etc. 
 | 
boolean | 
isStaticReference()
Only valid for properties with a return type of DBObjectID. 
 | 
boolean | 
isTextInternalName()
Tests whether this property is a text property that represents an
 internal name, and therefore should be externalised before it is used. 
 | 
boolean | 
isTextMultiLine()
Tests whether this property is a multi line property - e.g. 
 | 
boolean | 
isTextPassword()
Tests whether this property is a password and should therefore be
 treated with appropriate security. 
 | 
void | 
setNullBehaviour(Nullable.NullBehaviour nullBehaviour)
Sets the NullBehaviour for this property - i.e. 
 | 
void | 
setNumberPropertyInfo(java.lang.Integer unlimited,
                     boolean physicalSize)
Sets the information that customises the metadata for a number
 property. 
 | 
void | 
setReferencesInfo(boolean isStatic,
                 java.lang.Class<? extends DBObject> referencedClass,
                 java.lang.String... referencedTypes)
Sets the information that customises the metadata for a referenced
 property (i.e. 
 | 
void | 
setTextPropertyInfo(boolean multiLine,
                   boolean password,
                   boolean internalName)
Sets the information that customises the metadata for a text
 property. 
 | 
java.lang.String | 
toString()  | 
compareTo, equals, getAllowedReferenceTypes, getAllowedValues, getAnnotation, getCascadeAction, getDerivedSourceProperty, getDynamicPropertyProvider, getPropertyPath, getPropertyValue, isDeprecated, isDerived, isGetTransient, isInternal, isInternalReference, isNumberUnlimited, isSetTransient, isSupported, isTransient, setPropertyValuepublic PropertyDefinition(java.lang.String name,
                          java.lang.Class returnType,
                          java.lang.Class<? extends DBObjectProvider> providerType,
                          java.lang.Class<? extends DBObject>... objTypes)
name - the property name (must not be null, or empty).returnType - the return type (property class) for the property,
 (must not be null).providerType - the type of provider the property is restricted
 to (can be null).objTypes - the types of object the property is restricted to (can
 be null).public java.lang.String getPropertyName()
PropertyInfogetPropertyName in class PropertyInfopublic java.lang.Class getPropertyClass()
PropertyInfogetPropertyClass in class PropertyInfoprotected java.util.Collection<java.lang.Class<? extends DBObject>> getObjectClasses()
PropertyInfogetObjectClasses in class PropertyInfoprotected java.lang.Class<? extends DBObjectProvider> getProviderClass()
PropertyInfogetProviderClass in class PropertyInfoprotected boolean equalsImpl(PropertyInfo other)
equalsImpl in class PropertyInfoprotected boolean equalsImpl(PropertyDefinition other)
public PropertyDefinition clone()
clone in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic void setReferencesInfo(boolean isStatic,
                              java.lang.Class<? extends DBObject> referencedClass,
                              java.lang.String... referencedTypes)
isStatic - whether the value should be exempt from refactoringreferencedClass - the class of object being referencedreferencedTypes - the types of the objects that are referenced.Referencespublic boolean isStaticReference()
PropertyInfoisStaticReference in class PropertyInfopublic java.lang.Class<? extends DBObject> getReferencedClass()
PropertyInfogetReferencedClass in class PropertyInfopublic java.lang.String[] getReferencedTypes()
PropertyInfogetReferencedTypes in class PropertyInfopublic void setTextPropertyInfo(boolean multiLine,
                                boolean password,
                                boolean internalName)
multiLine - whether the value can be multi linepassword - whether the value is a password (or other credential)
 that should never be shown in plain text.internalName - whether the value is the name of an object in the
 database (so should be externalised before showing to the user).TextPropertypublic boolean isTextMultiLine()
PropertyInfoisTextMultiLine in class PropertyInfopublic boolean isTextPassword()
PropertyInfoisTextPassword in class PropertyInfopublic boolean isTextInternalName()
PropertyInfoisTextInternalName in class PropertyInfoDBObjectProvider.getInternalName(String,String)public void setNumberPropertyInfo(java.lang.Integer unlimited,
                                  boolean physicalSize)
unlimited - the value that represents UNLIMITED rather
 than a specific number, or null if the property cannot be UNLIMITED.physicalSize - whether the number represents a physical sizeNumberPropertypublic java.lang.Integer getNumberUnlimitedValue()
PropertyInfogetNumberUnlimitedValue in class PropertyInfopublic boolean isNumberPhysicalSize()
PropertyInfoisNumberPhysicalSize in class PropertyInfopublic void setNullBehaviour(Nullable.NullBehaviour nullBehaviour)
public Nullable.NullBehaviour getNullBehaviour()
PropertyInfogetNullBehaviour in class PropertyInfo