Class FactoryMetadata<R extends FactoryBase<?,​R>,​L,​F extends FactoryBase<L,​R>>


  • public class FactoryMetadata<R extends FactoryBase<?,​R>,​L,​F extends FactoryBase<L,​R>>
    extends java.lang.Object
    • 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)
      • setFastFactoryUtility

        public void setFastFactoryUtility​(FastFactoryUtility<R,​F> fastFactoryUtility)
      • 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
      • newCopyInstance

        public F newCopyInstance​(F data)
      • 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)