Package io.github.factoryfx.factory
Class FactoryBase.Internal<L,R extends FactoryBase<?,R>>
- java.lang.Object
-
- io.github.factoryfx.factory.FactoryBase.Internal<L,R>
-
- Enclosing class:
- FactoryBase<L,R extends FactoryBase<?,R>>
public static class FactoryBase.Internal<L,R extends FactoryBase<?,R>> extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Internal(FactoryBase<L,R> factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddDisplayTextListeners(AttributeChangeListener attributeChangeListener)voidassertRoot()java.util.List<AttributeGroup>attributeListGrouped()voidcleanUpAfterCrash()java.util.Map<java.util.UUID,FactoryBase<?,R>>collectChildFactoryMap()java.util.List<FactoryBase<?,R>>collectChildrenDeep()java.util.Set<FactoryBase<?,R>>collectionChildrenDeepFromNonFinalizedTree()can be used inside a view<T extends FactoryBase<?,?>>
Tcopy()<F extends FactoryBase<L,R>>
FcopyDeep(int level, int maxLevel, java.util.List<FactoryBase<?,?>> oldData, FactoryBase<?,?> parent, FactoryBase<?,?> root)<T extends FactoryBase<L,R>>
TcopyOneLevelDeep()<T extends FactoryBase<?,?>>
TcopyZeroLevelDeep()DataStorageMetadataDictionarycreateDataStorageMetadataDictionaryFromRoot()java.lang.StringdebugInfo()voiddestroyRemoved()destroy liveobject form a removed factoryvoiddestroyUpdated()destroy the old liveobject in updated factoriesvoiddetermineRecreationNeedFromRoot(java.util.Set<FactoryBase<?,R>> changedFactories)determine which live objects needs recreationvoidendEditingDeepFromRoot()only call on rootvoidendEditingFlat()end edit for this factory<T extends FactoryBase<L,R>>
Tfinalise()voidfixDuplicateFactories()-fix all factories with same id should be same objectAttribute<?,?>getAttribute(java.lang.String attributeVariableName)java.lang.StringgetDisplayText()java.lang.ObjectgetDisplayTextObservable()java.util.List<FactoryBase<?,R>>getFactoriesInCreateAndStartOrder()h / | \ / e \ d g /|\ | / | \ f a b cjava.util.List<FactoryBase<?,R>>getFactoriesInDestroyOrder()h / | \ / e \ d g /|\ | / | \ f a b cjava.lang.StringgetFactoryDisplayText()FactoryTreeBuilderBasedAttributeSetupgetFactoryTreeBuilderBasedAttributeSetup()LgetLiveObject()FactoryBase<?,?>getParent()Deprecated.java.util.Set<FactoryBase<?,?>>getParents()java.util.List<FactoryBase<?,?>>getPathFromRoot()RgetRoot()java.lang.StringgetTreeBuilderName()Linstance()java.lang.StringlogStartDisplayTextDeep()java.lang.StringlogUpdateDisplayTextDeep()voidloopDetector()booleanmatchSearchText(java.lang.String newValue)<F extends FactoryBase<L,R>>
voidmerge(F originalValue, F newValue, MergeResult<R> mergeResult, java.util.function.Function<java.lang.String,java.lang.Boolean> permissionChecker)voidneedRecalculationForBackReferences()voidresetLog()voidserFactoryTreeBuilderBasedAttributeSetupForRoot(FactoryTreeBuilderBasedAttributeSetup<R,?> setup)voidsetFactoryTreeBuilder(FactoryTreeBuilder<?,R,?> factoryTreeBuilder)voidsetMicroservice(Microservice<?,R,?> microservice)voidsetRootDeep(R root)voidsetTreeBuilderName(java.lang.String treeBuilderName)voidstart()start the liveObject e.g open a portvoidstoreDisplayTextObservable(java.lang.Object simpleStringProperty)java.util.List<ValidationError>validateFlat()voidvisitAttributesFlat(AttributeVisitor consumer)<V> voidvisitAttributesForMatch(FactoryBase<?,R> modelBase, FactoryBase.AttributeMatchVisitor<V> consumer)
-
-
-
Constructor Detail
-
Internal
public Internal(FactoryBase<L,R> factory)
-
-
Method Detail
-
matchSearchText
public boolean matchSearchText(java.lang.String newValue)
-
visitAttributesForMatch
public <V> void visitAttributesForMatch(FactoryBase<?,R> modelBase, FactoryBase.AttributeMatchVisitor<V> consumer)
-
visitAttributesFlat
public void visitAttributesFlat(AttributeVisitor consumer)
-
attributeListGrouped
public java.util.List<AttributeGroup> attributeListGrouped()
-
collectChildFactoryMap
public java.util.Map<java.util.UUID,FactoryBase<?,R>> collectChildFactoryMap()
-
collectChildrenDeep
public java.util.List<FactoryBase<?,R>> collectChildrenDeep()
- Returns:
- all data including root and no duplicates
-
collectionChildrenDeepFromNonFinalizedTree
public java.util.Set<FactoryBase<?,R>> collectionChildrenDeepFromNonFinalizedTree()
can be used inside a view- Returns:
- all data including root and no duplicates
-
fixDuplicateFactories
public void fixDuplicateFactories()
-fix all factories with same id should be same object
-
getDisplayText
public java.lang.String getDisplayText()
-
storeDisplayTextObservable
public void storeDisplayTextObservable(java.lang.Object simpleStringProperty)
-
getDisplayTextObservable
public java.lang.Object getDisplayTextObservable()
-
validateFlat
public java.util.List<ValidationError> validateFlat()
-
merge
public <F extends FactoryBase<L,R>> void merge(F originalValue, F newValue, MergeResult<R> mergeResult, java.util.function.Function<java.lang.String,java.lang.Boolean> permissionChecker)
-
getPathFromRoot
public java.util.List<FactoryBase<?,?>> getPathFromRoot()
-
copy
public <T extends FactoryBase<?,?>> T copy()
-
copyOneLevelDeep
public <T extends FactoryBase<L,R>> T copyOneLevelDeep()
-
copyZeroLevelDeep
public <T extends FactoryBase<?,?>> T copyZeroLevelDeep()
-
copyDeep
public <F extends FactoryBase<L,R>> F copyDeep(int level, int maxLevel, java.util.List<FactoryBase<?,?>> oldData, FactoryBase<?,?> parent, FactoryBase<?,?> root)
-
finalise
public <T extends FactoryBase<L,R>> T finalise()
- Type Parameters:
T- type- Returns:
- usableCopy
-
serFactoryTreeBuilderBasedAttributeSetupForRoot
public void serFactoryTreeBuilderBasedAttributeSetupForRoot(FactoryTreeBuilderBasedAttributeSetup<R,?> setup)
-
endEditingDeepFromRoot
public void endEditingDeepFromRoot()
only call on root
-
endEditingFlat
public void endEditingFlat()
end edit for this factory
-
getParent
@Deprecated public FactoryBase<?,?> getParent()
Deprecated.use getParents instead- Returns:
- parent
-
getParents
public java.util.Set<FactoryBase<?,?>> getParents()
-
addDisplayTextListeners
public void addDisplayTextListeners(AttributeChangeListener attributeChangeListener)
-
assertRoot
public void assertRoot()
-
createDataStorageMetadataDictionaryFromRoot
public DataStorageMetadataDictionary createDataStorageMetadataDictionaryFromRoot()
-
getRoot
public R getRoot()
-
getFactoryTreeBuilderBasedAttributeSetup
public FactoryTreeBuilderBasedAttributeSetup getFactoryTreeBuilderBasedAttributeSetup()
-
determineRecreationNeedFromRoot
public void determineRecreationNeedFromRoot(java.util.Set<FactoryBase<?,R>> changedFactories)
determine which live objects needs recreation- Parameters:
changedFactories- changed factories
-
resetLog
public void resetLog()
-
start
public void start()
start the liveObject e.g open a port
-
destroyRemoved
public void destroyRemoved()
destroy liveobject form a removed factory
-
destroyUpdated
public void destroyUpdated()
destroy the old liveobject in updated factories
-
cleanUpAfterCrash
public void cleanUpAfterCrash()
-
instance
public L instance()
-
loopDetector
public void loopDetector()
-
getFactoriesInDestroyOrder
public java.util.List<FactoryBase<?,R>> getFactoriesInDestroyOrder()
h / | \ / e \ d g /|\ | / | \ f a b c- Returns:
- breadth-first order: hdegabcf
-
getFactoriesInCreateAndStartOrder
public java.util.List<FactoryBase<?,R>> getFactoriesInCreateAndStartOrder()
h / | \ / e \ d g /|\ | / | \ f a b c- Returns:
- postorder: abcdefgh
-
debugInfo
public java.lang.String debugInfo()
-
setMicroservice
public void setMicroservice(Microservice<?,R,?> microservice)
-
setFactoryTreeBuilder
public void setFactoryTreeBuilder(FactoryTreeBuilder<?,R,?> factoryTreeBuilder)
-
getLiveObject
public L getLiveObject()
-
logStartDisplayTextDeep
public java.lang.String logStartDisplayTextDeep()
-
logUpdateDisplayTextDeep
public java.lang.String logUpdateDisplayTextDeep()
-
getFactoryDisplayText
public java.lang.String getFactoryDisplayText()
-
setTreeBuilderName
public void setTreeBuilderName(java.lang.String treeBuilderName)
- Parameters:
treeBuilderName- name used in treebuilder
-
getTreeBuilderName
public java.lang.String getTreeBuilderName()
-
setRootDeep
public void setRootDeep(R root)
-
needRecalculationForBackReferences
public void needRecalculationForBackReferences()
-
getAttribute
public Attribute<?,?> getAttribute(java.lang.String attributeVariableName)
-
-