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, 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<? 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.References
public boolean isStaticReference()
PropertyInfo
isStaticReference
in class PropertyInfo
public java.lang.Class<? extends DBObject> 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(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 sizeNumberProperty
public java.lang.Integer getNumberUnlimitedValue()
PropertyInfo
getNumberUnlimitedValue
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