[Java] Class BuilderSupport

  • groovy.util.BuilderSupport

An abstract base class for creating arbitrary nested trees of objects or events

Authors:
James Strachan

Constructor Summary

Constructors
Constructor and description
BuilderSupport ()
BuilderSupport (BuilderSupport proxyBuilder)
BuilderSupport (Closure nameMappingClosure, BuilderSupport proxyBuilder)

Methods Summary

Methods
Type Params Return Type Name and description
protected Object createNode(Object name)
protected Object createNode(Object name, Object value)
protected Object createNode(Object name, Map attributes)
protected Object createNode(Object name, Map attributes, Object value)
protected Object doInvokeMethod(String methodName, Object name, Object args)
protected Object getCurrent()
protected Object getName(String methodName)
A hook to allow names to be converted into some other object such as a QName in XML or ObjectName in JMX.
Object invokeMethod(String methodName)
Convenience method when no arguments are required
Object invokeMethod(String methodName, Object args)
protected void nodeCompleted(Object parent, Object node)
A hook to allow nodes to be processed once they have had all of their children applied.
protected Object postNodeCompletion(Object parent, Object node)
A hook to allow nodes to be processed once they have had all of their children applied and allows the actual node object that represents the Markup element to be changed
protected void setClosureDelegate(Closure closure, Object node)
A strategy method to allow derived builders to use builder-trees and switch in different kinds of builders.
protected void setCurrent(Object current)
protected void setParent(Object parent, Object child)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class GroovyObjectSupport getMetaClass, getProperty, invokeMethod, setMetaClass, setProperty
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Constructor Detail

public BuilderSupport()

public BuilderSupport(BuilderSupport proxyBuilder)

public BuilderSupport(Closure nameMappingClosure, BuilderSupport proxyBuilder)

Method Detail

protected Object createNode(Object name)

protected Object createNode(Object name, Object value)

protected Object createNode(Object name, Map attributes)

protected Object createNode(Object name, Map attributes, Object value)

protected Object doInvokeMethod(String methodName, Object name, Object args)

protected Object getCurrent()

protected Object getName(String methodName)

A hook to allow names to be converted into some other object such as a QName in XML or ObjectName in JMX.

Parameters:
methodName - the name of the desired method
Returns:
the object representing the name

public Object invokeMethod(String methodName)

Convenience method when no arguments are required

Parameters:
methodName - the name of the method to invoke
Returns:
the result of the call

public Object invokeMethod(String methodName, Object args)

protected void nodeCompleted(Object parent, Object node)

A hook to allow nodes to be processed once they have had all of their children applied.

Parameters:
node - the current node being processed
parent - the parent of the node being processed

protected Object postNodeCompletion(Object parent, Object node)

A hook to allow nodes to be processed once they have had all of their children applied and allows the actual node object that represents the Markup element to be changed

Parameters:
node - the current node being processed
parent - the parent of the node being processed
Returns:
the node, possibly new, that represents the markup element

protected void setClosureDelegate(Closure closure, Object node)

A strategy method to allow derived builders to use builder-trees and switch in different kinds of builders. This method should call the setDelegate() method on the closure which by default passes in this but if node is-a builder we could pass that in instead (or do something wacky too)

Parameters:
closure - the closure on which to call setDelegate()
node - the node value that we've just created, which could be a builder

protected void setCurrent(Object current)

protected void setParent(Object parent, Object child)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/groovy/util/BuilderSupport.html