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