@Component(value="core_MetaModelLoader")
public class MetaModelLoader
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
MetaModelLoader.MetadataObjectInfo<T> |
protected class |
MetaModelLoader.RangeInitTask |
Modifier and Type | Field and Description |
---|---|
protected DatatypeRegistry |
datatypes |
protected FormatStringsRegistry |
formatStringsRegistry |
protected Stores |
stores |
protected static java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> |
SYSTEM_ANNOTATIONS |
protected static java.lang.String |
VALIDATION_MAX |
protected static java.lang.String |
VALIDATION_MIN |
protected static java.lang.String |
VALIDATION_NOTNULL_MESSAGE |
protected static java.lang.String |
VALIDATION_NOTNULL_UI_COMPONENT |
Constructor and Description |
---|
MetaModelLoader(DatatypeRegistry datatypes,
Stores stores,
FormatStringsRegistry formatStringsRegistry) |
Modifier and Type | Method and Description |
---|---|
protected void |
assignInverse(MetaPropertyImpl property,
Range range,
java.lang.String inverseField) |
protected void |
assignPropertyType(java.lang.reflect.AnnotatedElement field,
MetaProperty property,
Range range) |
protected void |
assignStore(MetaClass metaClass) |
protected void |
assignStore(MetaProperty metaProperty) |
protected java.util.List<java.lang.String> |
buildSetterNames(java.lang.reflect.Field field)
Builds a list of possible setter names for the field.
|
protected MetaClassImpl |
createClass(Session session,
java.lang.Class<?> javaClass) |
protected Datatype |
getAdaptiveDatatype(java.lang.reflect.AnnotatedElement annotatedElement) |
protected Datatype |
getAdaptiveDatatype(MetaProperty metaProperty,
java.lang.Class<?> type) |
protected Range.Cardinality |
getCardinality(java.lang.reflect.Field field) |
protected java.lang.Class |
getFieldType(java.lang.reflect.Field field) |
protected java.lang.Class |
getFieldTypeAccordingAnnotations(java.lang.reflect.Field field) |
protected java.lang.String |
getInverseField(java.lang.reflect.Field field) |
protected java.lang.String |
getMetaClassName(java.lang.Class<?> javaClass) |
protected java.lang.Class |
getTypeOverride(java.lang.reflect.AnnotatedElement element) |
protected boolean |
hasJpaAnnotation(java.lang.reflect.AnnotatedElement annotatedElement) |
protected boolean |
hasJpaAnnotation(java.lang.Class<?> javaClass) |
protected void |
initAncestors(Session session,
MetaClass metaClass) |
protected void |
initInheritedProperties(MetaClass metaClass) |
protected void |
initProperties(Session session,
java.lang.Class<?> clazz,
MetaClassImpl metaClass,
java.util.Collection<MetaModelLoader.RangeInitTask> tasks) |
protected boolean |
isCollection(java.lang.reflect.Field field) |
protected boolean |
isCollection(java.lang.reflect.Method method) |
protected boolean |
isDefinedForDefaultValidationGroup(java.lang.annotation.Annotation annotation) |
protected boolean |
isDefinedForValidationGroup(java.lang.annotation.Annotation annotation,
java.lang.Class groupClass,
boolean inheritDefault) |
protected boolean |
isEmbedded(java.lang.reflect.Field field) |
protected boolean |
isJmixProperty(java.lang.reflect.Field field) |
protected boolean |
isMandatory(java.lang.reflect.AccessibleObject base) |
protected boolean |
isMap(java.lang.reflect.Field field) |
protected boolean |
isMap(java.lang.reflect.Method method) |
protected boolean |
isMetaPropertyField(java.lang.reflect.Field field) |
protected boolean |
isMetaPropertyMethod(java.lang.reflect.Method method) |
protected boolean |
isOrdered(java.lang.reflect.Field field) |
protected boolean |
isPrimaryKey(java.lang.reflect.Field field) |
protected boolean |
isSystem(java.lang.reflect.Field field,
MetaProperty metaProperty) |
protected boolean |
isTransientFieldOfJpaEntity(java.lang.Class clazz,
java.lang.reflect.Field field) |
protected boolean |
isUuidGeneratedValue(MetaProperty metaProperty,
java.lang.reflect.Field field) |
protected void |
loadBeanValidationAnnotations(MetaProperty metaProperty,
java.lang.reflect.AnnotatedElement annotatedElement) |
protected MetaModelLoader.MetadataObjectInfo<MetaClass> |
loadClass(Session session,
java.lang.Class<?> javaClass) |
protected MetaModelLoader.MetadataObjectInfo<MetaProperty> |
loadCollectionProperty(Session session,
MetaClassImpl metaClass,
java.lang.reflect.Field field) |
void |
loadModel(Session session,
java.util.Set<java.lang.String> classNames) |
protected MetaModelLoader.MetadataObjectInfo<MetaProperty> |
loadProperty(Session session,
MetaClassImpl metaClass,
java.lang.reflect.Field field) |
protected MetaModelLoader.MetadataObjectInfo<MetaProperty> |
loadProperty(Session session,
MetaClassImpl metaClass,
java.lang.reflect.Method method,
java.lang.String name) |
protected void |
loadPropertyAnnotations(MetaProperty metaProperty,
java.lang.reflect.AnnotatedElement annotatedElement) |
protected MetaModelLoader.MetadataObjectInfo<Range> |
loadRange(Session session,
MetaProperty metaProperty,
java.lang.Class<?> type,
java.util.Map<java.lang.String,java.lang.Object> map) |
protected void |
onPropertyLoaded(MetaProperty metaProperty,
java.lang.reflect.Field field) |
protected void |
onPropertyLoaded(MetaProperty metaProperty,
java.lang.reflect.Method method) |
protected boolean |
setterExists(java.lang.reflect.Field field) |
protected boolean |
setterExists(java.lang.reflect.Method getter) |
protected static final java.lang.String VALIDATION_MIN
protected static final java.lang.String VALIDATION_MAX
protected static final java.lang.String VALIDATION_NOTNULL_MESSAGE
protected static final java.lang.String VALIDATION_NOTNULL_UI_COMPONENT
protected static final java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> SYSTEM_ANNOTATIONS
protected DatatypeRegistry datatypes
protected Stores stores
protected FormatStringsRegistry formatStringsRegistry
@Autowired public MetaModelLoader(DatatypeRegistry datatypes, Stores stores, FormatStringsRegistry formatStringsRegistry)
public void loadModel(Session session, java.util.Set<java.lang.String> classNames)
@Nullable protected MetaModelLoader.MetadataObjectInfo<MetaClass> loadClass(Session session, java.lang.Class<?> javaClass)
protected void assignStore(MetaClass metaClass)
protected void initInheritedProperties(MetaClass metaClass)
@Nullable protected MetaClassImpl createClass(Session session, java.lang.Class<?> javaClass)
@Nullable protected java.lang.String getMetaClassName(java.lang.Class<?> javaClass)
protected void initProperties(Session session, java.lang.Class<?> clazz, MetaClassImpl metaClass, java.util.Collection<MetaModelLoader.RangeInitTask> tasks)
protected boolean isMetaPropertyField(java.lang.reflect.Field field)
protected boolean isJmixProperty(java.lang.reflect.Field field)
protected boolean isTransientFieldOfJpaEntity(java.lang.Class clazz, java.lang.reflect.Field field)
protected boolean isMetaPropertyMethod(java.lang.reflect.Method method)
protected MetaModelLoader.MetadataObjectInfo<MetaProperty> loadProperty(Session session, MetaClassImpl metaClass, java.lang.reflect.Field field)
protected MetaModelLoader.MetadataObjectInfo<MetaProperty> loadProperty(Session session, MetaClassImpl metaClass, java.lang.reflect.Method method, java.lang.String name)
protected MetaModelLoader.MetadataObjectInfo<MetaProperty> loadCollectionProperty(Session session, MetaClassImpl metaClass, java.lang.reflect.Field field)
protected void onPropertyLoaded(MetaProperty metaProperty, java.lang.reflect.Field field)
protected void assignStore(MetaProperty metaProperty)
protected boolean isSystem(java.lang.reflect.Field field, MetaProperty metaProperty)
@Nullable protected java.lang.Class getFieldTypeAccordingAnnotations(java.lang.reflect.Field field)
@Nullable protected java.lang.Class getTypeOverride(java.lang.reflect.AnnotatedElement element)
protected boolean isMandatory(java.lang.reflect.AccessibleObject base)
base
- field or method for field-based or property-based access typeprotected Range.Cardinality getCardinality(java.lang.reflect.Field field)
@Nullable protected java.lang.String getInverseField(java.lang.reflect.Field field)
protected boolean isPrimaryKey(java.lang.reflect.Field field)
protected boolean isUuidGeneratedValue(MetaProperty metaProperty, java.lang.reflect.Field field)
protected boolean isEmbedded(java.lang.reflect.Field field)
protected boolean hasJpaAnnotation(java.lang.reflect.AnnotatedElement annotatedElement)
protected boolean hasJpaAnnotation(java.lang.Class<?> javaClass)
protected boolean isCollection(java.lang.reflect.Field field)
protected boolean isMap(java.lang.reflect.Field field)
protected boolean isMap(java.lang.reflect.Method method)
protected boolean isCollection(java.lang.reflect.Method method)
protected void onPropertyLoaded(MetaProperty metaProperty, java.lang.reflect.Method method)
protected void loadPropertyAnnotations(MetaProperty metaProperty, java.lang.reflect.AnnotatedElement annotatedElement)
protected void loadBeanValidationAnnotations(MetaProperty metaProperty, java.lang.reflect.AnnotatedElement annotatedElement)
protected boolean isDefinedForDefaultValidationGroup(java.lang.annotation.Annotation annotation)
protected boolean isDefinedForValidationGroup(java.lang.annotation.Annotation annotation, java.lang.Class groupClass, boolean inheritDefault)
@Nullable protected Datatype getAdaptiveDatatype(java.lang.reflect.AnnotatedElement annotatedElement)
protected boolean setterExists(java.lang.reflect.Field field)
protected java.util.List<java.lang.String> buildSetterNames(java.lang.reflect.Field field)
protected boolean setterExists(java.lang.reflect.Method getter)
protected void assignPropertyType(java.lang.reflect.AnnotatedElement field, MetaProperty property, Range range)
protected MetaModelLoader.MetadataObjectInfo<Range> loadRange(Session session, MetaProperty metaProperty, java.lang.Class<?> type, java.util.Map<java.lang.String,java.lang.Object> map)
@Nullable protected Datatype getAdaptiveDatatype(MetaProperty metaProperty, java.lang.Class<?> type)
protected java.lang.Class getFieldType(java.lang.reflect.Field field)
protected void assignInverse(MetaPropertyImpl property, Range range, java.lang.String inverseField)
protected boolean isOrdered(java.lang.reflect.Field field)