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.
|
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 |
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 |
isNumberUnlimited()
Tests whether this is a number property that uses zero to signify an
UNLIMITED value.
|
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(boolean unlimited,
boolean physicalSize)
Sets the information that customises the metadata for a number
property.
|
void |
setReferencesInfo(boolean isStatic,
java.lang.Class 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, isAfter, isDeprecated, isDerived, isGetTransient, isInternalReference, 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 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 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(boolean unlimited,
boolean physicalSize)
unlimited - whether the number can be set as "unlimited" rather
than a specific number.physicalSize - whether the number represents a physical sizeNumberPropertypublic boolean isNumberUnlimited()
PropertyInfoisNumberUnlimited in class PropertyInfopublic boolean isNumberPhysicalSize()
PropertyInfoisNumberPhysicalSize in class PropertyInfopublic void setNullBehaviour(Nullable.NullBehaviour nullBehaviour)
public Nullable.NullBehaviour getNullBehaviour()
PropertyInfogetNullBehaviour in class PropertyInfo