|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object groovy.lang.GroovyObjectSupport groovy.lang.Binding groovy.util.FactoryBuilderSupport groovy.util.ObjectGraphBuilder
public class ObjectGraphBuilder extends FactoryBuilderSupport
A builder for creating object graphs.
Each node defines the class to be created and the property on its parent (if
any) at the same time.
Nested Class Summary | |
---|---|
interface |
ObjectGraphBuilder.ChildPropertySetter
Strategy for setting a child node on its parent. |
interface |
ObjectGraphBuilder.ClassNameResolver
Strategy for resolving a classname. |
static class |
ObjectGraphBuilder.DefaultChildPropertySetter
Default impl that calls parent.propertyName = child |
static class |
ObjectGraphBuilder.DefaultClassNameResolver
Default impl that capitalizes the classname. |
static class |
ObjectGraphBuilder.DefaultIdentifierResolver
Default impl, always returns 'id' |
static class |
ObjectGraphBuilder.DefaultNewInstanceResolver
Default impl that calls Class.newInstance() |
static class |
ObjectGraphBuilder.DefaultReferenceResolver
Default impl, always returns 'refId' |
static class |
ObjectGraphBuilder.DefaultRelationNameResolver
Default impl that returns parentName & childName accordingly. |
interface |
ObjectGraphBuilder.IdentifierResolver
Strategy for picking the correct synthetic identifier. |
interface |
ObjectGraphBuilder.NewInstanceResolver
Strategy for creating new instances of a class. |
interface |
ObjectGraphBuilder.ReferenceResolver
Strategy for picking the correct synthetic reference identifier. |
class |
ObjectGraphBuilder.ReflectionClassNameResolver
Build objects using reflection to resolve class names. |
interface |
ObjectGraphBuilder.RelationNameResolver
Strategy for resolving a relationship property name. |
Field Summary | |
---|---|
static java.lang.String |
CLASSNAME_RESOLVER_KEY
|
static java.lang.String |
CLASSNAME_RESOLVER_REFLECTION
|
static java.lang.String |
CLASSNAME_RESOLVER_REFLECTION_ROOT
|
static java.lang.String |
LAZY_REF
|
static java.lang.String |
NODE_CLASS
|
static java.lang.String |
NODE_NAME
|
static java.lang.String |
OBJECT_ID
|
Constructor Summary | |
ObjectGraphBuilder()
|
Method Summary | |
---|---|
java.lang.String
|
getBeanFactoryName()
Returns the current name of the 'bean' node. |
ObjectGraphBuilder.ChildPropertySetter
|
getChildPropertySetter()
Returns the current ChildPropertySetter. |
java.lang.ClassLoader
|
getClassLoader()
Returns the classLoader used to load a node's class. |
ObjectGraphBuilder.ClassNameResolver
|
getClassNameResolver()
Returns the current ClassNameResolver. |
ObjectGraphBuilder.NewInstanceResolver
|
getNewInstanceResolver()
Returns the current NewInstanceResolver. |
ObjectGraphBuilder.RelationNameResolver
|
getRelationNameResolver()
Returns the current RelationNameResolver. |
boolean
|
isLazyReferencesAllowed()
Returns true if references can be resolved lazily |
protected void
|
postInstantiate(java.lang.Object name, java.util.Map attributes, java.lang.Object node)
|
protected void
|
preInstantiate(java.lang.Object name, java.util.Map attributes, java.lang.Object value)
|
protected Factory
|
resolveFactory(java.lang.Object name, java.util.Map attributes, java.lang.Object value)
|
void
|
setBeanFactoryName(java.lang.String beanFactoryName)
Sets the name for the 'bean' node. |
void
|
setChildPropertySetter(java.lang.Object childPropertySetter)
Sets the current ChildPropertySetter. |
void
|
setClassLoader(java.lang.ClassLoader classLoader)
Sets the classLoader used to load a node's class. |
void
|
setClassNameResolver(java.lang.Object classNameResolver)
Sets the current ClassNameResolver. |
void
|
setIdentifierResolver(java.lang.Object identifierResolver)
Sets the current IdentifierResolver. |
void
|
setLazyReferencesAllowed(boolean lazyReferencesAllowed)
Sets whether references can be resolved lazily or not. |
void
|
setNewInstanceResolver(java.lang.Object newInstanceResolver)
Sets the current NewInstanceResolver. |
void
|
setReferenceResolver(java.lang.Object referenceResolver)
Sets the current ReferenceResolver. |
void
|
setRelationNameResolver(ObjectGraphBuilder.RelationNameResolver relationNameResolver)
Sets the current RelationNameResolver. |
Methods inherited from class Binding | |
---|---|
getProperty, getVariable, getVariables, hasVariable, setProperty, setVariable |
Methods inherited from class GroovyObjectSupport | |
---|---|
getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
public static final java.lang.String CLASSNAME_RESOLVER_KEY
public static final java.lang.String CLASSNAME_RESOLVER_REFLECTION
public static final java.lang.String CLASSNAME_RESOLVER_REFLECTION_ROOT
public static final java.lang.String LAZY_REF
public static final java.lang.String NODE_CLASS
public static final java.lang.String NODE_NAME
public static final java.lang.String OBJECT_ID
Constructor Detail |
---|
public ObjectGraphBuilder()
Method Detail |
---|
public java.lang.String getBeanFactoryName()
public ObjectGraphBuilder.ChildPropertySetter getChildPropertySetter()
public java.lang.ClassLoader getClassLoader()
public ObjectGraphBuilder.ClassNameResolver getClassNameResolver()
public ObjectGraphBuilder.NewInstanceResolver getNewInstanceResolver()
public ObjectGraphBuilder.RelationNameResolver getRelationNameResolver()
public boolean isLazyReferencesAllowed()
protected void postInstantiate(java.lang.Object name, java.util.Map attributes, java.lang.Object node)
protected void preInstantiate(java.lang.Object name, java.util.Map attributes, java.lang.Object value)
protected Factory resolveFactory(java.lang.Object name, java.util.Map attributes, java.lang.Object value)
public void setBeanFactoryName(java.lang.String beanFactoryName)
public void setChildPropertySetter(java.lang.Object childPropertySetter)
public void setClassLoader(java.lang.ClassLoader classLoader)
public void setClassNameResolver(java.lang.Object classNameResolver)
public void setIdentifierResolver(java.lang.Object identifierResolver)
public void setLazyReferencesAllowed(boolean lazyReferencesAllowed)
public void setNewInstanceResolver(java.lang.Object newInstanceResolver)
public void setReferenceResolver(java.lang.Object referenceResolver)
public void setRelationNameResolver(ObjectGraphBuilder.RelationNameResolver relationNameResolver)
Groovy Documentation