@Component(value="core_FetchPlanRepository") public class FetchPlanRepositoryImpl extends java.lang.Object implements FetchPlanRepository
FetchPlanRepository
. Contains methods to store FetchPlan
objects and deploy
them from XML.Modifier and Type | Field and Description |
---|---|
protected org.springframework.core.env.Environment |
environment |
protected ExtendedEntities |
extendedEntities |
protected FetchPlanLoader |
fetchPlanLoader |
protected FetchPlans |
fetchPlans |
protected boolean |
initialized |
protected java.util.concurrent.locks.ReadWriteLock |
lock |
protected Metadata |
metadata |
protected MetadataTools |
metadataTools |
protected JmixModules |
modules |
protected java.util.List<java.lang.String> |
readFileNames |
protected Resources |
resources |
protected java.util.Map<MetaClass,java.util.Map<java.lang.String,FetchPlan>> |
storage |
Constructor and Description |
---|
FetchPlanRepositoryImpl() |
Modifier and Type | Method and Description |
---|---|
protected void |
addAttributesToBaseFetchPlan(MetaClass metaClass,
FetchPlanBuilder fetchPlanBuilder,
FetchPlanLoader.FetchPlanInfo info,
java.util.Set<FetchPlanLoader.FetchPlanInfo> visited) |
protected void |
addAttributesToInstanceNameFetchPlan(MetaClass metaClass,
FetchPlanBuilder fetchPlanBuilder,
FetchPlanLoader.FetchPlanInfo info,
java.util.Set<FetchPlanLoader.FetchPlanInfo> visited) |
protected void |
addAttributesToLocalFetchPlan(MetaClass metaClass,
FetchPlanBuilder fetchPlanBuilder) |
protected void |
addClassAttributeWithFetchPlan(MetaProperty metaProperty,
java.lang.String fetchPlanName,
FetchPlanBuilder fetchPlanBuilder,
FetchPlanLoader.FetchPlanInfo info,
java.util.Set<FetchPlanLoader.FetchPlanInfo> visited) |
protected void |
addFile(org.dom4j.Element commonRootElem,
java.lang.String fileName) |
protected void |
checkInitialized() |
protected FetchPlan |
deployDefaultFetchPlan(MetaClass metaClass,
java.lang.String name,
java.util.Set<FetchPlanLoader.FetchPlanInfo> visited) |
FetchPlan |
deployFetchPlan(org.dom4j.Element rootElem,
org.dom4j.Element fetchPlanElem) |
protected FetchPlan |
deployFetchPlan(org.dom4j.Element rootElem,
org.dom4j.Element fetchPlanElem,
java.util.Set<FetchPlanLoader.FetchPlanInfo> visited) |
void |
deployFetchPlans(java.io.InputStream xml) |
void |
deployFetchPlans(java.io.Reader xml) |
void |
deployFetchPlans(java.lang.String resourceUrl) |
FetchPlan |
findFetchPlan(MetaClass metaClass,
java.lang.String name)
Searches for a FetchPlan for an entity
|
java.util.List<FetchPlan> |
getAll() |
protected java.util.List<FetchPlan> |
getAllInitialized() |
protected FetchPlan |
getAncestorFetchPlan(MetaClass metaClass,
java.lang.String ancestor,
java.util.Set<FetchPlanLoader.FetchPlanInfo> visited) |
FetchPlan |
getFetchPlan(java.lang.Class<?> entityClass,
java.lang.String name)
Get FetchPlan for an entity.
|
FetchPlan |
getFetchPlan(MetaClass metaClass,
java.lang.String name)
Get FetchPlan for an entity.
|
java.util.Collection<java.lang.String> |
getFetchPlanNames(java.lang.Class<?> entityClass)
Returns names of fetch plans defined for the entityClass
|
java.util.Collection<java.lang.String> |
getFetchPlanNames(MetaClass metaClass)
Returns names of fetch plans defined for the metaClass
|
protected java.util.Collection<MetaProperty> |
getInstanceNamePersistentProperties(MetaClass metaClass) |
protected void |
init() |
protected boolean |
isDefaultFetchPlan(java.lang.String fetchPlanName) |
protected void |
replaceOverridden(FetchPlan replacementFetchPlan) |
protected FetchPlanBuilder |
replaceOverridden(FetchPlan root,
FetchPlan replacementFetchPlan,
java.util.HashSet<FetchPlan> checked) |
void |
reset() |
protected FetchPlan |
retrieveFetchPlan(MetaClass metaClass,
java.lang.String name,
java.util.Set<FetchPlanLoader.FetchPlanInfo> visited) |
protected void |
storeFetchPlan(MetaClass metaClass,
FetchPlan fetchPlan) |
protected java.util.List<java.lang.String> readFileNames
@Autowired protected org.springframework.core.env.Environment environment
@Autowired protected Metadata metadata
@Autowired protected MetadataTools metadataTools
@Autowired protected ExtendedEntities extendedEntities
@Autowired protected Resources resources
@Autowired protected JmixModules modules
@Autowired protected FetchPlans fetchPlans
@Autowired protected FetchPlanLoader fetchPlanLoader
protected volatile boolean initialized
protected java.util.concurrent.locks.ReadWriteLock lock
protected void checkInitialized()
protected void init()
protected void addFile(org.dom4j.Element commonRootElem, java.lang.String fileName)
@EventListener(value=org.springframework.context.event.ContextRefreshedEvent.class) @Order(value=140) public void reset()
public FetchPlan getFetchPlan(java.lang.Class<?> entityClass, java.lang.String name)
getFetchPlan
in interface FetchPlanRepository
entityClass
- entity classname
- fetch plan nameFetchPlanNotFoundException
if not found.public FetchPlan getFetchPlan(MetaClass metaClass, java.lang.String name)
getFetchPlan
in interface FetchPlanRepository
metaClass
- entity classname
- fetch plan nameFetchPlanNotFoundException
if not found.@Nullable public FetchPlan findFetchPlan(MetaClass metaClass, java.lang.String name)
findFetchPlan
in interface FetchPlanRepository
metaClass
- entity classname
- fetch plan namepublic java.util.Collection<java.lang.String> getFetchPlanNames(MetaClass metaClass)
FetchPlanRepository
getFetchPlanNames
in interface FetchPlanRepository
metaClass
- entity classpublic java.util.Collection<java.lang.String> getFetchPlanNames(java.lang.Class<?> entityClass)
FetchPlanRepository
getFetchPlanNames
in interface FetchPlanRepository
entityClass
- entity classprotected FetchPlan deployDefaultFetchPlan(MetaClass metaClass, java.lang.String name, java.util.Set<FetchPlanLoader.FetchPlanInfo> visited)
protected void addAttributesToLocalFetchPlan(MetaClass metaClass, FetchPlanBuilder fetchPlanBuilder)
protected void addAttributesToInstanceNameFetchPlan(MetaClass metaClass, FetchPlanBuilder fetchPlanBuilder, FetchPlanLoader.FetchPlanInfo info, java.util.Set<FetchPlanLoader.FetchPlanInfo> visited)
protected void addAttributesToBaseFetchPlan(MetaClass metaClass, FetchPlanBuilder fetchPlanBuilder, FetchPlanLoader.FetchPlanInfo info, java.util.Set<FetchPlanLoader.FetchPlanInfo> visited)
protected void addClassAttributeWithFetchPlan(MetaProperty metaProperty, java.lang.String fetchPlanName, FetchPlanBuilder fetchPlanBuilder, FetchPlanLoader.FetchPlanInfo info, java.util.Set<FetchPlanLoader.FetchPlanInfo> visited)
protected java.util.Collection<MetaProperty> getInstanceNamePersistentProperties(MetaClass metaClass)
public void deployFetchPlans(java.lang.String resourceUrl)
public void deployFetchPlans(java.io.InputStream xml)
public void deployFetchPlans(java.io.Reader xml)
@Nullable protected FetchPlan retrieveFetchPlan(MetaClass metaClass, java.lang.String name, java.util.Set<FetchPlanLoader.FetchPlanInfo> visited)
protected boolean isDefaultFetchPlan(java.lang.String fetchPlanName)
public FetchPlan deployFetchPlan(org.dom4j.Element rootElem, org.dom4j.Element fetchPlanElem)
protected FetchPlan deployFetchPlan(org.dom4j.Element rootElem, org.dom4j.Element fetchPlanElem, java.util.Set<FetchPlanLoader.FetchPlanInfo> visited)
protected void replaceOverridden(FetchPlan replacementFetchPlan)
@Nullable protected FetchPlanBuilder replaceOverridden(FetchPlan root, FetchPlan replacementFetchPlan, java.util.HashSet<FetchPlan> checked)
root
or null if no replacement neededprotected FetchPlan getAncestorFetchPlan(MetaClass metaClass, java.lang.String ancestor, java.util.Set<FetchPlanLoader.FetchPlanInfo> visited)
protected java.util.List<FetchPlan> getAllInitialized()
public java.util.List<FetchPlan> getAll()