Package io.jmix.dynmodel.meta
Class DynamicMetaProperty
java.lang.Object
io.jmix.core.metamodel.model.impl.MetadataObjectImpl
io.jmix.dynmodel.meta.DynamicMetaProperty
- All Implemented Interfaces:
CloneableMetaProperty,MetadataObject,MetaProperty
public class DynamicMetaProperty
extends MetadataObjectImpl
implements MetaProperty, CloneableMetaProperty
Metadata property implementation used for runtime dynamic attributes.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface io.jmix.core.metamodel.model.MetaProperty
MetaProperty.Type -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final AnnotatedElementprotected @Nullable MetaPropertyprotected final Class<?> protected final Booleanprotected final MetaClassprotected final Rangeprotected final booleanprotected Storeprotected final MetaProperty.TypeFields inherited from class io.jmix.core.metamodel.model.impl.MetadataObjectImpl
annotations, name -
Constructor Summary
ConstructorsConstructorDescriptionDynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type) Creates a writable dynamic metadata property without an inverse property.DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, boolean readOnly) Creates a dynamic metadata property with explicit read-only state and without an inverse property.DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, boolean readOnly, boolean mandatory, @Nullable MetaProperty inverse) Creates a dynamic metadata property with explicit read-only, mandatory, and inverse state.DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, boolean readOnly, @Nullable MetaProperty inverse) Creates a dynamic metadata property with explicit read-only state and optional inverse property.DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, @Nullable MetaProperty inverse) Creates a writable dynamic metadata property with an optional inverse property. -
Method Summary
Modifier and TypeMethodDescriptionboolean@Nullable Class<?> @Nullable MetaPropertyClass<?> getRange()getStore()getType()inthashCode()booleanbooleanReturns whether this dynamic metadata property is read-only.voidsetInverse(@Nullable MetaProperty inverse) voidtoString()Methods inherited from class io.jmix.core.metamodel.model.impl.MetadataObjectImpl
getAnnotations, getNameMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.jmix.core.metamodel.model.MetadataObject
getAnnotations, getName
-
Field Details
-
metaClass
-
range
-
javaClass
-
mandatory
-
readOnly
protected final boolean readOnly -
annotatedElement
-
type
-
inverse
-
store
-
-
Constructor Details
-
DynamicMetaProperty
public DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type) Creates a writable dynamic metadata property without an inverse property. -
DynamicMetaProperty
public DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, @Nullable MetaProperty inverse) Creates a writable dynamic metadata property with an optional inverse property. -
DynamicMetaProperty
public DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, boolean readOnly) Creates a dynamic metadata property with explicit read-only state and without an inverse property. -
DynamicMetaProperty
public DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, boolean readOnly, @Nullable MetaProperty inverse) Creates a dynamic metadata property with explicit read-only state and optional inverse property. -
DynamicMetaProperty
public DynamicMetaProperty(MetaClass metaClass, String name, Class<?> javaClass, Range range, MetaProperty.Type type, boolean readOnly, boolean mandatory, @Nullable MetaProperty inverse) Creates a dynamic metadata property with explicit read-only, mandatory, and inverse state.
-
-
Method Details
-
makeClone
- Specified by:
makeClonein interfaceCloneableMetaProperty
-
getSession
- Specified by:
getSessionin interfaceMetaProperty- Returns:
- containing MetaModel instance. Null signifies a temporary metaclass, not associated with an entity class.
-
getDomain
- Specified by:
getDomainin interfaceMetaProperty- Returns:
- MetaClass, containing this MetaProperty.
In case ofReplaceEntityreturns extended meta class.
-
getRange
- Specified by:
getRangein interfaceMetaProperty- Returns:
- Range of this property.
-
getType
- Specified by:
getTypein interfaceMetaProperty- Returns:
- property type (DATATYPE, ENUM, ASSOCIATION, COMPOSITION, EMBEDDED)
-
isMandatory
public boolean isMandatory()- Specified by:
isMandatoryin interfaceMetaProperty- Returns:
- true if the corresponding entity attribute must contain a value
-
isReadOnly
public boolean isReadOnly()Returns whether this dynamic metadata property is read-only.- Specified by:
isReadOnlyin interfaceMetaProperty- Returns:
truefor calculated dynamic properties
-
getInverse
- Specified by:
getInversein interfaceMetaProperty- Returns:
- a MetaProperty from the opposite side of relation, or null if this is not a reference property
-
getAnnotatedElement
- Specified by:
getAnnotatedElementin interfaceMetaProperty- Returns:
- corresponding Java field or method as AnnotatedElement object
-
getJavaType
- Specified by:
getJavaTypein interfaceMetaProperty- Returns:
- Java class of the corresponding field or method's return type
-
getDeclaringClass
- Specified by:
getDeclaringClassin interfaceMetaProperty- Returns:
- Java class which declares the corresponding field or method
-
getStore
- Specified by:
getStorein interfaceMetaProperty
-
setStore
-
setInverse
-
equals
-
hashCode
public int hashCode() -
toString
-