Package io.jmix.core.impl
Class InstanceNameProviderImpl
java.lang.Object
io.jmix.core.impl.InstanceNameProviderImpl
- All Implemented Interfaces:
- InstanceNameProvider
@Component("core_InstanceNameProvider")
public class InstanceNameProviderImpl
extends Object
implements InstanceNameProvider
- 
Nested Class SummaryNested Classes
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected DatatypeRegistryprotected ExtendedEntitiesprotected com.google.common.cache.LoadingCache<MetaClass,Optional<InstanceNameProviderImpl.InstanceNameRec>> protected Messagesprotected Metadataprotected MetadataToolsprotected MethodArgumentsProviderprotected ContextArgumentResolverComposite
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptiongetInstanceName(Object instance) Gets entity instance name defined byInstanceNameannotation.protected Collection<MetaProperty>getInstanceNameProperties(MetaClass metaClass, Method nameMethod, MetaProperty nameProperty) getInstanceNameRelatedProperties(MetaClass metaClass, boolean useOriginal) Return a collection of properties included into entity's name pattern (seeInstanceName).booleanisInstanceNameDefined(Class<?> aClass) Checks ifInstanceNameannotation is present in an entity class, i.e.parseNamePattern(MetaClass metaClass) voidsetResolvers(ContextArgumentResolverComposite resolvers) 
- 
Field Details- 
metadata
- 
extendedEntities
- 
datatypeRegistry
- 
messages
- 
metadataTools
- 
resolvers
- 
methodArgumentsProvider
- 
instanceNameRecCacheprotected com.google.common.cache.LoadingCache<MetaClass,Optional<InstanceNameProviderImpl.InstanceNameRec>> instanceNameRecCache
 
- 
- 
Constructor Details- 
InstanceNameProviderImplpublic InstanceNameProviderImpl()
 
- 
- 
Method Details- 
getResolvers
- 
setResolvers
- 
isInstanceNameDefinedDescription copied from interface:InstanceNameProviderChecks ifInstanceNameannotation is present in an entity class, i.e. whether instance name can be obtained for entity instances.- Specified by:
- isInstanceNameDefinedin interface- InstanceNameProvider
- Parameters:
- aClass- an entity class to check
- Returns:
- trueif- InstanceNameannotation is present,- falseotherwise
 
- 
getInstanceNameDescription copied from interface:InstanceNameProviderGets entity instance name defined byInstanceNameannotation. IfInstanceNameannotation is not defined, returnsentity.toString().- Specified by:
- getInstanceNamein interface- InstanceNameProvider
- Parameters:
- instance- an entity instance to get instance name
- Returns:
- instance name
 
- 
getInstanceNameRelatedPropertiespublic Collection<MetaProperty> getInstanceNameRelatedProperties(MetaClass metaClass, boolean useOriginal) Description copied from interface:InstanceNameProviderReturn a collection of properties included into entity's name pattern (seeInstanceName).- Specified by:
- getInstanceNameRelatedPropertiesin interface- InstanceNameProvider
- Parameters:
- metaClass- entity metaclass
- useOriginal- if true, and if the given metaclass doesn't define a- InstanceNameand if it is an extended entity, this method tries to find a name pattern in an original entity
- Returns:
- collection of the name pattern properties
 
- 
getInstanceNamePropertiesprotected Collection<MetaProperty> getInstanceNameProperties(MetaClass metaClass, @Nullable Method nameMethod, @Nullable MetaProperty nameProperty) 
- 
parseNamePattern
 
-