Package: groovy.util

## [Java] Class AbstractFactory

- groovy.util.AbstractFactory

- All Implemented Interfaces and Traits:
    Factory

      public abstract class AbstractFactory
      extends Object
      implements Factory

  Base Factory implementation with default no-op lifecycle hooks.

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public 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
    `` | `public boolean` | `isLeaf()` * * Returns: true if no child closures should be processed
    `` | `public void` | `onFactoryRegistration(FactoryBuilderSupport builder, String registeredName, String group)` * 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
    `` | `public 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
    `` | `public 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
    `` | `public void` | `onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node)` * Parameters: `builder` - the FactoryBuilder * `parent` - the parent node (null if 'root') * `node` - the node just completed
    `` | `public void` | `setChild(FactoryBuilderSupport builder, Object parent, Object child)` * Notifies the parent that a child node was created. * * Parameters: `builder` - the FactoryBuilder * `parent` - the parent node, or `null` for the root * `child` - the child node
    `` | `public void` | `setParent(FactoryBuilderSupport builder, Object parent, Object child)` * Connects a child node to its parent. * * Parameters: `builder` - the FactoryBuilder * `parent` - the parent node, or `null` for the root * `child` - the child node

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### public 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

    - #### public boolean isLeaf()

      * *

      Returns:
        true if no child closures should be processed

    - #### public void onFactoryRegistration(FactoryBuilderSupport builder, String registeredName, String group)

      * 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

    - #### public 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

    - #### public 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

    - #### public void onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node)

      *

      Parameters:
        `builder` - the FactoryBuilder *
        `parent` - the parent node (null if 'root') *
        `node` - the node just completed

    - #### public void setChild(FactoryBuilderSupport builder, Object parent, Object child)

      * Notifies the parent that a child node was created. * *

      Parameters:
        `builder` - the FactoryBuilder *
        `parent` - the parent node, or `null` for the root *
        `child` - the child node

    - #### public void setParent(FactoryBuilderSupport builder, Object parent, Object child)

      * Connects a child node to its parent. * *

      Parameters:
        `builder` - the FactoryBuilder *
        `parent` - the parent node, or `null` for the root *
        `child` - the child node