Class DebuggingOutletWrapper

  • All Implemented Interfaces:
    Outlet

    public class DebuggingOutletWrapper
    extends Object
    implements Outlet
    An outlet wrapper which adds debug information to the outlet.
    Version:
    $Id: $
    • Constructor Detail

      • DebuggingOutletWrapper

        public DebuggingOutletWrapper​(Outlet delegate)
        Constructor.
        Parameters:
        delegate - the wrapped outlet, not null.
    • Method Detail

      • getName

        public QualifiedName getName()
        Returns the name of the delegate.
        Specified by:
        getName in interface Outlet
        Returns:
        the name of the delegate, not null.
      • getMergepointMapping

        public MergepointMapping getMergepointMapping​(String name)
        Retrieves the mergepoint mapping for the given mergepoint name from the delegate and returns it.
        Specified by:
        getMergepointMapping in interface Outlet
        Parameters:
        name - the name of the mergepoint mapping.
        Returns:
        the mergepoint mapping for the given name, or null if no mergepoint mapping exists for this name.
      • getMergepointMappings

        public Map<String,​MergepointMapping> getMergepointMappings()
        Returns the map of all mergepoint mappings in the delegate, keyed by their name.
        Specified by:
        getMergepointMappings in interface Outlet
        Returns:
        the map of mergepoint mappings, not null.
      • setInputElementName

        public void setInputElementName​(String inputName)
        Sets the name of the input root element in the delegate.
        Specified by:
        setInputElementName in interface Outlet
        Parameters:
        inputName - the name of the root element of the source, or null to accept any input name.
      • getInputElementName

        public String getInputElementName()
        Returns the name of the input root element from the delegate.
        Specified by:
        getInputElementName in interface Outlet
        Returns:
        the name of the root element of the source, or null if any input name is accepted.
      • setInputClass

        public void setInputClass​(String className)
        Sets the class name of the input root object in the delegate.
        Specified by:
        setInputClass in interface Outlet
        Parameters:
        className - the class name of the root object of the source, or null to accept any object class.
      • getInputClass

        public String getInputClass()
        Returns the class name of the input root object from the delegate.
        Specified by:
        getInputClass in interface Outlet
        Returns:
        the class name of the root object of the source, or null if any object class is accepted.
      • execute

        public OutletResult execute​(ControllerState controllerState)
                             throws GeneratorException
        Executes the delegate generation and adds debugging output before and after the generated content, if the result is a String result.
        Specified by:
        execute in interface Outlet
        Parameters:
        controllerState - the current controller state, not null.
        Returns:
        the result of the generation plus possibly debugging information.
        Throws:
        GeneratorException - if adjusting the controller state fails.
      • getCommentAtStart

        protected String getCommentAtStart​(ControllerState controllerState)
        Returns the debug information to be added at the start of the outlet's output.
        Parameters:
        controllerState - The current controller state, not null.
        Returns:
        the debug information, not null.
      • getCommentAtEnd

        protected String getCommentAtEnd​(ControllerState controllerState)
        Returns the debug information to be added at the end of the outlet's output.
        Parameters:
        controllerState - The current controller state, not null.
        Returns:
        the debug information, not null.