@Component(value="search_IndexConfigurationManager")
public class IndexConfigurationManager
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected static class |
IndexConfigurationManager.PropertyTrackingInfo |
Modifier and Type | Field and Description |
---|---|
protected io.jmix.search.index.mapping.IndexConfigurationManager.Registry |
registry |
Constructor and Description |
---|
IndexConfigurationManager(io.jmix.core.impl.scanning.JmixModulesClasspathScanner classpathScanner,
AnnotatedIndexDefinitionProcessor indexDefinitionProcessor,
io.jmix.core.InstanceNameProvider instanceNameProvider,
IndexDefinitionDetector indexDefinitionDetector,
io.jmix.core.MetadataTools metadataTools) |
Modifier and Type | Method and Description |
---|---|
java.util.Collection<IndexConfiguration> |
getAllIndexConfigurations()
Gets all
IndexConfiguration registered in application |
java.util.Collection<java.lang.String> |
getAllIndexedEntities() |
java.util.Map<io.jmix.core.metamodel.model.MetaClass,java.util.Set<io.jmix.core.metamodel.model.MetaPropertyPath>> |
getDependenciesMetaDataForDelete(java.lang.Class<?> deletedEntityClass)
Gets metadata of entities dependent on deleted main entity.
|
java.util.Map<io.jmix.core.metamodel.model.MetaClass,java.util.Set<io.jmix.core.metamodel.model.MetaPropertyPath>> |
getDependenciesMetaDataForUpdate(java.lang.Class<?> entityClass,
java.util.Set<java.lang.String> changedProperties)
Gets metadata of entities dependent on updated main entity and its changed properties.
|
IndexConfiguration |
getIndexConfigurationByEntityName(java.lang.String entityName)
Gets
IndexConfiguration registered for provided entity name. |
java.util.Optional<IndexConfiguration> |
getIndexConfigurationByEntityNameOpt(java.lang.String entityName)
Gets optional
IndexConfiguration registered for provided entity name. |
IndexConfiguration |
getIndexConfigurationByIndexName(java.lang.String indexName)
Gets
IndexConfiguration registered for provided index name. |
java.util.Optional<IndexConfiguration> |
getIndexConfigurationByIndexNameOpt(java.lang.String indexName)
Gets optional
IndexConfiguration registered for provided index name. |
java.util.Set<java.lang.String> |
getLocalPropertyNamesAffectedByUpdate(java.lang.Class<?> entityClass)
Gets local property names of provided entity involved into index update process
|
boolean |
isAffectedEntityClass(java.lang.Class<?> entityClass)
Checks if provided entity is involved in index process directly or as a part of another entity.
|
boolean |
isDirectlyIndexed(java.lang.String entityName)
Checks if provided entity is declared to be indexed directly (not as a part of another entity).
|
protected final io.jmix.search.index.mapping.IndexConfigurationManager.Registry registry
@Autowired public IndexConfigurationManager(io.jmix.core.impl.scanning.JmixModulesClasspathScanner classpathScanner, AnnotatedIndexDefinitionProcessor indexDefinitionProcessor, io.jmix.core.InstanceNameProvider instanceNameProvider, IndexDefinitionDetector indexDefinitionDetector, io.jmix.core.MetadataTools metadataTools)
public java.util.Collection<IndexConfiguration> getAllIndexConfigurations()
IndexConfiguration
registered in applicationIndexConfiguration
public IndexConfiguration getIndexConfigurationByEntityName(java.lang.String entityName)
IndexConfiguration
registered for provided entity name.
Throws IllegalArgumentException
if there is no configuration for provided entity name.entityName
- entity name.IndexConfiguration
public java.util.Optional<IndexConfiguration> getIndexConfigurationByEntityNameOpt(java.lang.String entityName)
IndexConfiguration
registered for provided entity name.entityName
- entity nameIndexConfiguration
public IndexConfiguration getIndexConfigurationByIndexName(java.lang.String indexName)
IndexConfiguration
registered for provided index name.
Throws IllegalArgumentException
if there is no configuration for provided index name.indexName
- index nameIndexConfiguration
public java.util.Optional<IndexConfiguration> getIndexConfigurationByIndexNameOpt(java.lang.String indexName)
IndexConfiguration
registered for provided index name.indexName
- index nameIndexConfiguration
public java.util.Collection<java.lang.String> getAllIndexedEntities()
public boolean isDirectlyIndexed(java.lang.String entityName)
entityName
- entity namepublic boolean isAffectedEntityClass(java.lang.Class<?> entityClass)
entityClass
- entity java classpublic java.util.Set<java.lang.String> getLocalPropertyNamesAffectedByUpdate(java.lang.Class<?> entityClass)
entityClass
- entity classpublic java.util.Map<io.jmix.core.metamodel.model.MetaClass,java.util.Set<io.jmix.core.metamodel.model.MetaPropertyPath>> getDependenciesMetaDataForUpdate(java.lang.Class<?> entityClass, java.util.Set<java.lang.String> changedProperties)
entityClass
- java class of main entitychangedProperties
- changed property of main entityMetaClass
.
For every meta class group there are set of properties representing dependency-to-main referencespublic java.util.Map<io.jmix.core.metamodel.model.MetaClass,java.util.Set<io.jmix.core.metamodel.model.MetaPropertyPath>> getDependenciesMetaDataForDelete(java.lang.Class<?> deletedEntityClass)
deletedEntityClass
- java class of main entityMetaClass
.
For every meta class group there are set of properties representing dependency-to-main references