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, setPropertyValue
public 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()
PropertyInfo
getPropertyName
in class PropertyInfo
public java.lang.Class getPropertyClass()
PropertyInfo
getPropertyClass
in class PropertyInfo
protected java.util.Collection<java.lang.Class<? extends DBObject>> getObjectClasses()
PropertyInfo
getObjectClasses
in class PropertyInfo
protected java.lang.Class<? extends DBObjectProvider> getProviderClass()
PropertyInfo
getProviderClass
in class PropertyInfo
protected boolean equalsImpl(PropertyInfo other)
equalsImpl
in class PropertyInfo
protected boolean equalsImpl(PropertyDefinition other)
public PropertyDefinition clone()
clone
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public 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.References
public boolean isStaticReference()
PropertyInfo
isStaticReference
in class PropertyInfo
public java.lang.Class getReferencedClass()
PropertyInfo
getReferencedClass
in class PropertyInfo
public java.lang.String[] getReferencedTypes()
PropertyInfo
getReferencedTypes
in class PropertyInfo
public 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).TextProperty
public boolean isTextMultiLine()
PropertyInfo
isTextMultiLine
in class PropertyInfo
public boolean isTextPassword()
PropertyInfo
isTextPassword
in class PropertyInfo
public boolean isTextInternalName()
PropertyInfo
isTextInternalName
in class PropertyInfo
DBObjectProvider.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 sizeNumberProperty
public boolean isNumberUnlimited()
PropertyInfo
isNumberUnlimited
in class PropertyInfo
public boolean isNumberPhysicalSize()
PropertyInfo
isNumberPhysicalSize
in class PropertyInfo
public void setNullBehaviour(Nullable.NullBehaviour nullBehaviour)
public Nullable.NullBehaviour getNullBehaviour()
PropertyInfo
getNullBehaviour
in class PropertyInfo