Class MapEnvironment

  • All Implemented Interfaces:
    uk.ac.starlink.task.Environment, TableEnvironment

    public class MapEnvironment
    extends java.lang.Object
    implements TableEnvironment
    Environment which allows use of ttools tasks from an in-memory context. Input StarTables can be set as values of parameters and output ones can be extracted.
    Author:
    Mark Taylor
    • Constructor Summary

      Constructors 
      Constructor Description
      MapEnvironment()
      Constructs a new environment with no values.
      MapEnvironment​(java.util.Map<java.lang.String,​java.lang.Object> map)
      Constructs a new environment with a map of parameter name->value pairs.
      MapEnvironment​(MapEnvironment env)
      Clone constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void acquireValue​(uk.ac.starlink.task.Parameter<?> param)  
      void clearValue​(uk.ac.starlink.task.Parameter<?> param)  
      java.lang.String[] getErrorLines()
      Returns the error output written by the task so far, in an array one line per element.
      java.io.PrintStream getErrorStream()  
      java.lang.String getErrorText()
      Returns a string which contains all the error output written by the task so far.
      uk.ac.starlink.table.jdbc.JDBCAuthenticator getJdbcAuthenticator()
      Returns a JDBC authenticator suitable for use in this environment.
      java.util.Map<java.lang.String,​java.lang.Object> getMap()
      Returns the map object that contains the data for this environment.
      java.lang.String[] getNames()  
      java.lang.String[] getOutputLines()
      Returns the output written by the task so far, in an array one line per element.
      java.io.PrintStream getOutputStream()  
      uk.ac.starlink.table.StarTable getOutputTable​(java.lang.String paramName)
      If the task which has been executed in this environment has created an output table which has not been otherwise disposed of, you can get it from here.
      java.lang.String getOutputText()
      Returns a string which contains all the output written by the task so far.
      uk.ac.starlink.table.StarTableFactory getTableFactory()
      Returns a table factory suitable for use in this environment.
      uk.ac.starlink.table.StarTableOutput getTableOutput()
      Returns a table output marshaller suitable for use in this environment.
      java.lang.String[] getUnused()
      Returns an array containing any words of the input argument list which were never queried by the application to find their value.
      boolean isDebug()
      Indicates whether we are running in debug mode.
      boolean isStrictVotable()
      Determines whether votables are to be parsed in strict mode.
      void setDebug​(boolean debug)
      Sets whether we are running in debug mode.
      MapEnvironment setResourceBase​(java.lang.Class<?> clazz)
      Sets the class which defines the context for resource discovery.
      void setStrictVotable​(boolean strict)
      Sets whether votables should be parsed in strict mode.
      MapEnvironment setValue​(java.lang.String paramName, java.lang.Object value)
      Sets the value of a parameter.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MapEnvironment

        public MapEnvironment()
        Constructs a new environment with no values.
      • MapEnvironment

        public MapEnvironment​(java.util.Map<java.lang.String,​java.lang.Object> map)
        Constructs a new environment with a map of parameter name->value pairs.
        Parameters:
        map - parameter map
      • MapEnvironment

        public MapEnvironment​(MapEnvironment env)
        Clone constructor.
        Parameters:
        env - environment to copy
    • Method Detail

      • getOutputStream

        public java.io.PrintStream getOutputStream()
        Specified by:
        getOutputStream in interface uk.ac.starlink.task.Environment
      • getErrorStream

        public java.io.PrintStream getErrorStream()
        Specified by:
        getErrorStream in interface uk.ac.starlink.task.Environment
      • clearValue

        public void clearValue​(uk.ac.starlink.task.Parameter<?> param)
        Specified by:
        clearValue in interface uk.ac.starlink.task.Environment
      • getNames

        public java.lang.String[] getNames()
        Specified by:
        getNames in interface uk.ac.starlink.task.Environment
      • getMap

        public java.util.Map<java.lang.String,​java.lang.Object> getMap()
        Returns the map object that contains the data for this environment. Modify it at your own risk.
        Returns:
        content map
      • getOutputText

        public java.lang.String getOutputText()
        Returns a string which contains all the output written by the task so far.
        Returns:
        output text
      • getOutputLines

        public java.lang.String[] getOutputLines()
        Returns the output written by the task so far, in an array one line per element.
        Returns:
        output text
      • getErrorText

        public java.lang.String getErrorText()
        Returns a string which contains all the error output written by the task so far.
        Returns:
        error text
      • getErrorLines

        public java.lang.String[] getErrorLines()
        Returns the error output written by the task so far, in an array one line per element.
        Returns:
        error text
      • setValue

        public MapEnvironment setValue​(java.lang.String paramName,
                                       java.lang.Object value)
        Sets the value of a parameter. A string value is OK; in some cases other parameter types are catered for. For convenience, this method returns this object (cf. StringBuffer).
        Parameters:
        paramName - name
        value - string or other value
        Returns:
        this
      • setResourceBase

        public MapEnvironment setResourceBase​(java.lang.Class<?> clazz)
        Sets the class which defines the context for resource discovery.
        Parameters:
        clazz - resource base class
        Returns:
        this
        See Also:
        Class.getResource(java.lang.String)
      • getOutputTable

        public uk.ac.starlink.table.StarTable getOutputTable​(java.lang.String paramName)
        If the task which has been executed in this environment has created an output table which has not been otherwise disposed of, you can get it from here.
        Parameters:
        paramName - name of a TableConsumerParameter
        Returns:
        output table stored under name
      • acquireValue

        public void acquireValue​(uk.ac.starlink.task.Parameter<?> param)
                          throws uk.ac.starlink.task.TaskException
        Specified by:
        acquireValue in interface uk.ac.starlink.task.Environment
        Throws:
        uk.ac.starlink.task.TaskException
      • getTableFactory

        public uk.ac.starlink.table.StarTableFactory getTableFactory()
        Description copied from interface: TableEnvironment
        Returns a table factory suitable for use in this environment.
        Specified by:
        getTableFactory in interface TableEnvironment
        Returns:
        table factory
      • getTableOutput

        public uk.ac.starlink.table.StarTableOutput getTableOutput()
        Description copied from interface: TableEnvironment
        Returns a table output marshaller suitable for use in this environment.
        Specified by:
        getTableOutput in interface TableEnvironment
        Returns:
        table output
      • getJdbcAuthenticator

        public uk.ac.starlink.table.jdbc.JDBCAuthenticator getJdbcAuthenticator()
        Description copied from interface: TableEnvironment
        Returns a JDBC authenticator suitable for use in this environment.
        Specified by:
        getJdbcAuthenticator in interface TableEnvironment
        Returns:
        JDBC authenticator
      • isDebug

        public boolean isDebug()
        Description copied from interface: TableEnvironment
        Indicates whether we are running in debug mode.
        Specified by:
        isDebug in interface TableEnvironment
        Returns:
        true iff debugging output is required
      • setDebug

        public void setDebug​(boolean debug)
        Description copied from interface: TableEnvironment
        Sets whether we are running in debug mode.
        Specified by:
        setDebug in interface TableEnvironment
        Parameters:
        debug - set true if you want debugging messages
      • isStrictVotable

        public boolean isStrictVotable()
        Description copied from interface: TableEnvironment
        Determines whether votables are to be parsed in strict mode.
        Specified by:
        isStrictVotable in interface TableEnvironment
        Returns:
        true if VOTables will be interpreted strictly in accordance with the standard
      • setStrictVotable

        public void setStrictVotable​(boolean strict)
        Description copied from interface: TableEnvironment
        Sets whether votables should be parsed in strict mode.
        Specified by:
        setStrictVotable in interface TableEnvironment
        Parameters:
        strict - true if VOTables should be interpreted strictly in accordance with the standard
      • getUnused

        public java.lang.String[] getUnused()
        Returns an array containing any words of the input argument list which were never queried by the application to find their value. Such unused words probably merit a warning, since they may for instance be misspelled versions of real parameters.
        Returns:
        array of unused words