Overview | Package | Class | Deprecated | Index | Help
| Groovy 1.7.0
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD

## groovy.util
Interface Factory

    interface Factory

author:
  Andres Almiray

author:
  Danno Ferrin

Method Summary
`boolean` | `isHandlesNodeChildren()` Does this factory "Own" it's child closure.
`boolean` | `isLeaf()`
`Object` | `newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes)`
`void` | `onFactoryRegistration(FactoryBuilderSupport builder, String registerdName, String registeredGroupName)` Called when a factory is registerd to a builder
`boolean` | `onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes)`
`boolean` | `onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent)` Only called if it isLeaf is false and isHandlesNodeChildren is true
`void` | `onNodeCompleted(FactoryBuilderSupport builder, Object parent, Object node)`
`void` | `setChild(FactoryBuilderSupport builder, Object parent, Object child)`
`void` | `setParent(FactoryBuilderSupport builder, Object parent, Object child)`

Method Detail

### isHandlesNodeChildren

    public boolean isHandlesNodeChildren()

  Does this factory "Own" it's child closure.
  return:
    true if the factory should have onContentClosure() called, false if the builder shouold handle it

### isLeaf

    public boolean isLeaf()

  return:
    true if no child closures should be processed

### newInstance

    public Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes)

  param:
    builder the FactoryBuilder
  param:
    name the name of the node being built
  param:
    value the 'value' argument in the build node
  param:
    attributes the attributes of the build arg
  return:
    the object created for the builder
  throws:
    InstantiationException if attempting to instantiate an interface or abstract class
  throws:
    IllegalAccessException if the instance can't be created due to a security violation

### onFactoryRegistration

    public void onFactoryRegistration(FactoryBuilderSupport builder, String registerdName, String registeredGroupName)

  Called when a factory is registerd to a builder
  param:
    builder the build the factory has been registered to
  param:
    registerdName the name the factory has been registerd under

### onHandleNodeAttributes

    public boolean onHandleNodeAttributes(FactoryBuilderSupport builder, Object node, Map attributes)

  param:
    builder the FactoryBuilder
  param:
    node the node (returned from newINstance) to consider the attributes for
  param:
    attributes the attributes, a mutable set
  return:
    true if the factory builder should use standerd bean property matching for the remaining attributes

### onNodeChildren

    public boolean onNodeChildren(FactoryBuilderSupport builder, Object node, Closure childContent)

  Only called if it isLeaf is false and isHandlesNodeChildren is true
  param:
    builder the FactoryBuilder
  param:
    node the node (returned from newINstance) to consider the attributes for
  param:
    childContent the child content closure of the builder
  return:
    true if the factory builder should apply default node processing to the content child

### onNodeCompleted

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

  param:
    builder the FactoryBuilder
  param:
    parent the parent node (null if 'root')
  param:
    node the node just completed

### setChild

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

### setParent

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

Copyright © 2003-2009 The Codehaus. All rights reserved.