Package groovy.util

Interface Factory

All Known Implementing Classes:
AbstractFactory, CustomizersFactory, ImportCustomizerFactory, InlinedASTCustomizerFactory, SecureASTCustomizerFactory, SourceAwareCustomizerFactory

public interface Factory
  • Method Details

    • isLeaf

      boolean isLeaf()
      Returns:
      true if no child closures should be processed
    • isHandlesNodeChildren

      boolean isHandlesNodeChildren()
      Does this factory "Own" its child closure.
      Returns:
      true if the factory should have onContentClosure() called, false if the builder should handle it
    • onFactoryRegistration

      void onFactoryRegistration(FactoryBuilderSupport builder, String registeredName, String registeredGroupName)
      Called when a factory is registered to a builder
      Parameters:
      builder - the build the factory has been registered to
      registeredName - the name the factory has been registered under
    • newInstance

      Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException
      Parameters:
      builder - the FactoryBuilder
      name - the name of the node being built
      value - the 'value' argument in the build node
      attributes - the attributes of the build arg
      Returns:
      the object created for the builder
      Throws:
      InstantiationException - if attempting to instantiate an interface or abstract class
      IllegalAccessException - if the instance can't be created due to a security violation
    • onHandleNodeAttributes

      boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes)
      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

      boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent)
      Only called if it isLeaf is false and isHandlesNodeChildren is true
      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

      void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node)
      Parameters:
      builder - the FactoryBuilder
      parent - the parent node (null if 'root')
      node - the node just completed
    • setParent

      void setParent(FactoryBuilderSupport builder, Object parent, Object child)
    • setChild

      void setChild(FactoryBuilderSupport builder, Object parent, Object child)