Class ControllerState


  • public class ControllerState
    extends Object
    The state of the controller. Contains all stuff the controller needs to track.
    • Constructor Detail

      • ControllerState

        public ControllerState()
    • Method Detail

      • getSourceProvider

        public SourceProvider getSourceProvider()
        Returns the source provider which is currently in use.
        Returns:
        the current source provider.
      • setSourceProvider

        public void setSourceProvider​(SourceProvider sourceProvider)
        Sets the source provider which is currently in use.
        Parameters:
        sourceProvider - the current source provider.
      • getOutput

        public Output getOutput()
        Returns the output declaration which is currently processed.
        Returns:
        the output declaration which is currently processed, may be null only if no output is processed at the moment.
      • getOutlet

        public Outlet getOutlet()
        Returns the topmost outlet in the stack of outlets.
        Returns:
        the topmost outlet in the stack of outlets, or null if the stack is empty.
      • pushOutlet

        public void pushOutlet​(Outlet outlet)
        Pushes a outlet onto the stack of outlets.
        Parameters:
        outlet - the outlet to be added to the stack of outlets, not null.
      • popOutlet

        public Outlet popOutlet()
        Pops the topmost outlets from the stack of outlets.
        Returns:
        the removed outlet, not null.
        Throws:
        IndexOutOfBoundsException - if the stack is empty.
      • getModel

        public Object getModel()
        Returns the current model object within the source. Does not return null during generation.
        Returns:
        the current model object.
      • setModel

        public void setModel​(Object model,
                             String newPathToModel)
        Sets the current source model object.
        Parameters:
        model - the new current source model object, or null to remove the current source model object.
        newPathToModel - the path from root to the new model, or null to leave the path unchanged.
      • getPathToModel

        public String getPathToModel()
        Returns the path from the model root to the current model.
        Returns:
        the path from the model root to the current model, not null.
      • setPathToModel

        public void setPathToModel​(String pathToModel)
        Sets the path from the model root to the current model.
        Parameters:
        pathToModel - the path from the model root to the current model, not null.
      • getModelRoot

        public Object getModelRoot()
        Returns the root object of the current source.
        Returns:
        The the root object of the current source; may be null only if no source is currently processed.
      • setModelRoot

        public void setModelRoot​(Object modelRoot)
        Sets the root object of the current source.
        Parameters:
        modelRoot - the the root object of the current source, or null to remove the current root object.
      • getRootOutletReference

        public OutletReference getRootOutletReference()
        Returns the reference to the current outlet.
        Returns:
        the reference to the current outlet, or null if no outlet is currently active.
      • getOutletNamespace

        public Namespace getOutletNamespace()
        Returns the namespace of the outlet which is currently active.
        Returns:
        the name space of the active outlet. May be null only if no generation is in progress.
      • getOption

        public Object getOption​(String name)
        Calculates the value of an option in the current outlet's context. The default namespace which is used when no namespace is given in name is the namespace of the currently used outlet.
        Parameters:
        name - the name of the option, can contain a namespace.
        Returns:
        The value of the option, or null if no option with that name is visible from the given namespace.
      • getOption

        public Object getOption​(OptionName optionName)
        Calculates the value of an option in the current outlet's context. The default namespace which is used when no namespace is given in name is the namespace of the currently used outlet.
        Parameters:
        optionName - the object containing the name of the option, which can contain a namespace, not null.
        Returns:
        The value of the option, or null if no option with that name is visible from the given namespace.
        Throws:
        NullPointerException - if optionName is null.
      • getBooleanOption

        public boolean getBooleanOption​(String name)
        Convenience method to return the value of an option as boolean. The option is evaluated in the current outlet's context, see getOption(String).

        Uses Boolean.paseBoolean() for String -> Boolean conversion.

        Parameters:
        name - the name of the option, can contain a namespace.
        Returns:
        The value of the option as boolean, or false if no option with that name is visible from the given namespace,
      • getBooleanOption

        public boolean getBooleanOption​(OptionName optionName)
        Convenience method to return the value of an option as boolean. The option is evaluated in the current outlet's context, see getOption(String).

        Uses Boolean.paseBoolean() for String -> Boolean conversion.

        Parameters:
        optionName - the object containing the name of the option, which can contain a namespace.
        Returns:
        The value of the option as boolean, or false if no option with that name is visible from the given namespace.
        Throws:
        NullPointerException - if optionName is null.
      • getStringOption

        public String getStringOption​(String name)
        Convenience method to return the value of an option as String. The option is evaluated in the current outlet's context, see getOption(String).
        Parameters:
        name - the name of the option, can contain a namespace.
        Returns:
        The value of the option as boolean, or false if no option with that name is visible from the given namespace,
      • getStringOption

        public String getStringOption​(OptionName optionName)
        Convenience method to return the value of an option as String. The option is evaluated in the current outlet's context, see getOption(String).
        Parameters:
        optionName - the object containing the name of the option, which can contain a namespace.
        Returns:
        The value of the option as String, or null if no option with that name is visible from the given namespace,
        Throws:
        NullPointerException - if optionName is null.
      • getVisibleOptions

        public Options getVisibleOptions()
        Returns all options which are visible from the current outlet's namespace.
        Returns:
        all visible options, not null.
      • getVariableStore

        public VariableStore getVariableStore()
        Returns the VariableStore where generation variables can be set.
        Returns:
        the variableStore, never null.
      • getQualifiedName

        public QualifiedName getQualifiedName​(String name)
        Converts a name to a QualifiedName, using the outlet namespace as default namespace is none is given.
        Parameters:
        name - the name to convert to a qualifiedName, not null.
        Returns:
        the corresponding qualifiedName.
        Throws:
        NullPointerException - if name is null
        IllegalArgumentException - if name is no valid qualifiedName.
      • getOutputFile

        public File getOutputFile()
        Returns the currently generated file.
        Returns:
        the current output file. May only be null if no output file is currently generated (e.g. if the file name is currently generated).
      • getSourceFile

        public File getSourceFile()
        Returns the currently used source file.
        Returns:
        the current source file. May be null if no source file is currently used (e.g. if the source is created by other means than reading a file).
      • setSourceFile

        public void setSourceFile​(File sourceFile)
        Sets the currently used source file.
        Parameters:
        sourceFile - the current source file, or null to remove the source file.
      • getUnitConfiguration

        public UnitConfiguration getUnitConfiguration()
        Returns the configuration of the currently processed generation unit.
        Returns:
        the configuration of the currently processed generation unit.
      • setUnitConfiguration

        public void setUnitConfiguration​(UnitConfiguration unitConfiguration)
        Sets the configuration of the currently processed generation unit.
        Parameters:
        unitConfiguration - the configuration of the currently processed generation unit.
      • getLastGeneratedSourceChecksums

        public Checksums getLastGeneratedSourceChecksums()
        Returns the checksums of the source files for the last generation run.
        Returns:
        the checksums, not null.
      • getThisGenerationSourceChecksums

        public Checksums getThisGenerationSourceChecksums()
        Returns the checksums of the source files for this generation run.
        Returns:
        the checksums, not null.