Class FactoryMetadata<R extends FactoryBase<?,R>,L,F extends FactoryBase<L,R>>
- java.lang.Object
-
- io.github.factoryfx.factory.metadata.FactoryMetadata<R,L,F>
-
public class FactoryMetadata<R extends FactoryBase<?,R>,L,F extends FactoryBase<L,R>> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFactoryMetadata.AttributeNamePair
-
Constructor Summary
Constructors Constructor Description FactoryMetadata(java.lang.Class<F> clazz)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddBackReferencesAndReferenceClassToAttributes(F data, R root)voidaddBackReferencesAndReferenceClassToAttributesUnsafe(FactoryBase<?,R> data, R root)DataStorageMetadatacreateDataStorageMetadata(long count)FnewCopyInstance(F data)FnewInstance()voidsetAttributeReferenceClasses(F data)voidsetFastFactoryUtility(FastFactoryUtility<R,F> fastFactoryUtility)FactoryMetadata<R,L,F>setNewCopyInstanceSupplier(java.util.function.Function<F,F> newCopyInstanceSupplier)new instance configuration default use reflection over default constructor used for copiesFactoryMetadata<R,L,F>setUseTemporaryAttributes()Data use temporary to simulate normal data, this is an optimization hind cause some operation don't make sense with Temporary attributesvoidvisitAttributesFlat(F data, AttributeVisitor attributeVisitor)<V> voidvisitAttributesForCopy(F factory, F other, FactoryBase.BiCopyAttributeVisitor<V> consumer)<V> voidvisitAttributesForMatch(F factory, F other, FactoryBase.AttributeMatchVisitor<V> consumer)<V> voidvisitAttributesTripleFlat(F data, F other1, F other2, FactoryBase.TriAttributeVisitor<V> consumer)voidvisitChildFactoriesAndViewsFlat(F factory, java.util.function.Consumer<FactoryBase<?,R>> consumer, boolean includeViews)voidvisitFactoryEnclosingAttributesFlat(F factory, FactoryEnclosingAttributeVisitor<R> visitor)
-
-
-
Constructor Detail
-
FactoryMetadata
public FactoryMetadata(java.lang.Class<F> clazz)
-
-
Method Detail
-
setUseTemporaryAttributes
public FactoryMetadata<R,L,F> setUseTemporaryAttributes()
Data use temporary to simulate normal data, this is an optimization hind cause some operation don't make sense with Temporary attributes- Returns:
- DataDictionary for fluent configuration
-
visitAttributesFlat
public void visitAttributesFlat(F data, AttributeVisitor attributeVisitor)
-
visitFactoryEnclosingAttributesFlat
public void visitFactoryEnclosingAttributesFlat(F factory, FactoryEnclosingAttributeVisitor<R> visitor)
-
setFastFactoryUtility
public void setFastFactoryUtility(FastFactoryUtility<R,F> fastFactoryUtility)
-
visitAttributesForCopy
public <V> void visitAttributesForCopy(F factory, F other, FactoryBase.BiCopyAttributeVisitor<V> consumer)
-
visitAttributesForMatch
public <V> void visitAttributesForMatch(F factory, F other, FactoryBase.AttributeMatchVisitor<V> consumer)
-
visitAttributesTripleFlat
public <V> void visitAttributesTripleFlat(F data, F other1, F other2, FactoryBase.TriAttributeVisitor<V> consumer)
-
addBackReferencesAndReferenceClassToAttributes
public void addBackReferencesAndReferenceClassToAttributes(F data, R root)
-
addBackReferencesAndReferenceClassToAttributesUnsafe
public void addBackReferencesAndReferenceClassToAttributesUnsafe(FactoryBase<?,R> data, R root)
-
setNewCopyInstanceSupplier
public FactoryMetadata<R,L,F> setNewCopyInstanceSupplier(java.util.function.Function<F,F> newCopyInstanceSupplier)
new instance configuration default use reflection over default constructor used for copies- Parameters:
newCopyInstanceSupplier- newCopyInstanceSupplier- Returns:
- DataDictionary for fluent configuration
-
newInstance
public F newInstance()
-
setAttributeReferenceClasses
public void setAttributeReferenceClasses(F data)
-
createDataStorageMetadata
public DataStorageMetadata createDataStorageMetadata(long count)
-
visitChildFactoriesAndViewsFlat
public void visitChildFactoriesAndViewsFlat(F factory, java.util.function.Consumer<FactoryBase<?,R>> consumer, boolean includeViews)
-
-