groovy.util
Class AbstractFactory

java.lang.Object
  extended by groovy.util.AbstractFactory
All Implemented Interfaces:
Factory

public abstract class AbstractFactory
extends Object
implements Factory

Author:
Andres Almiray , Danno Ferrin

Constructor Summary
AbstractFactory()
           
 
Method Summary
 boolean isHandlesNodeChildren()
          Does this factory "Own" it's child closure.
 boolean isLeaf()
           
 void onFactoryRegistration(FactoryBuilderSupport builder, String registerdName, String group)
          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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface groovy.util.Factory
newInstance
 

Constructor Detail

AbstractFactory

public AbstractFactory()
Method Detail

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" it's child closure.

Specified by:
isHandlesNodeChildren in interface Factory
Returns:
true if the factory should have onContentClosure() called, false if the builder shouold handle it

onFactoryRegistration

public void onFactoryRegistration(FactoryBuilderSupport builder,
                                  String registerdName,
                                  String group)
Description copied from interface: Factory
Called when a factory is registerd to a builder

Specified by:
onFactoryRegistration in interface Factory
Parameters:
builder - the build the factory has been registered to
registerdName - the name the factory has been registerd 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 standerd 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

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