Package groovy.util

Class AbstractFactory

java.lang.Object
groovy.util.AbstractFactory
All Implemented Interfaces:
Factory
Direct Known Subclasses:
CustomizersFactory, ImportCustomizerFactory, InlinedASTCustomizerFactory, SecureASTCustomizerFactory, SourceAwareCustomizerFactory

public abstract class AbstractFactory
extends Object
implements Factory
  • Constructor Details

    • AbstractFactory

      public AbstractFactory()
  • Method Details

    • isLeaf

      public boolean isLeaf()
      Specified by:
      isLeaf in interface Factory
      Returns:
      true if no child closures should be processed
    • isHandlesNodeChildren

      public boolean isHandlesNodeChildren()
      Description copied from interface: Factory
      Does this factory "Own" its child closure.
      Specified by:
      isHandlesNodeChildren in interface Factory
      Returns:
      true if the factory should have onContentClosure() called, false if the builder should handle it
    • onFactoryRegistration

      public void onFactoryRegistration​(FactoryBuilderSupport builder, String registeredName, String group)
      Description copied from interface: Factory
      Called when a factory is registered to a builder
      Specified by:
      onFactoryRegistration in interface Factory
      Parameters:
      builder - the build the factory has been registered to
      registeredName - the name the factory has been registered under
    • onHandleNodeAttributes

      public boolean onHandleNodeAttributes​(FactoryBuilderSupport builder, Object node, Map attributes)
      Specified by:
      onHandleNodeAttributes in interface Factory
      Parameters:
      builder - the FactoryBuilder
      node - the node (returned from newINstance) to consider the attributes for
      attributes - the attributes, a mutable set
      Returns:
      true if the factory builder should use standard bean property matching for the remaining attributes
    • onNodeChildren

      public boolean onNodeChildren​(FactoryBuilderSupport builder, Object node, Closure childContent)
      Description copied from interface: Factory
      Only called if it isLeaf is false and isHandlesNodeChildren is true
      Specified by:
      onNodeChildren in interface Factory
      Parameters:
      builder - the FactoryBuilder
      node - the node (returned from newINstance) to consider the attributes for
      childContent - the child content closure of the builder
      Returns:
      true if the factory builder should apply default node processing to the content child
    • onNodeCompleted

      public void onNodeCompleted​(FactoryBuilderSupport builder, Object parent, Object node)
      Specified by:
      onNodeCompleted in interface Factory
      Parameters:
      builder - the FactoryBuilder
      parent - the parent node (null if 'root')
      node - the node just completed
    • setParent

      public void setParent​(FactoryBuilderSupport builder, Object parent, Object child)
      Specified by:
      setParent in interface Factory
    • setChild

      public void setChild​(FactoryBuilderSupport builder, Object parent, Object child)
      Specified by:
      setChild in interface Factory