Package groovy.util

Class BuilderSupport

    • Constructor Detail

      • BuilderSupport

        public BuilderSupport()
      • BuilderSupport

        public BuilderSupport​(BuilderSupport proxyBuilder)
    • Method Detail

      • getCurrent

        protected Object getCurrent()
      • setCurrent

        protected void setCurrent​(Object current)
      • invokeMethod

        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
      • invokeMethod

        public Object invokeMethod​(String methodName,
                                   Object args)
        Description copied from interface: GroovyObject
        Invokes the given method.
        Parameters:
        methodName - the name of the method to call
        args - the arguments to use for the method call
        Returns:
        the result of invoking the method
      • setClosureDelegate

        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
      • setParent

        protected abstract void setParent​(Object parent,
                                          Object child)
      • createNode

        protected abstract Object createNode​(Object name)
      • createNode

        protected abstract Object createNode​(Object name,
                                             Map attributes)
      • getName

        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
      • nodeCompleted

        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
      • postNodeCompletion

        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