Package net.sf.saxon.trans

## Class CommandLineOptions

- java.lang.Object
- - net.sf.saxon.trans.CommandLineOptions

-     public class CommandLineOptions
      extends java.lang.Object

  This is a helper class for classes such as net.sf.saxon.Transform and net.sf.saxon.Query that process command line options

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `CommandLineOptions.ParamSetter` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `TYPE_BOOLEAN` |
    `static int` | `TYPE_CLASSNAME` |
    `static int` | `TYPE_DATETIME` |
    `static int` | `TYPE_ENUMERATION` |
    `static int` | `TYPE_FILENAME` |
    `static int` | `TYPE_FILENAME_LIST` |
    `static int` | `TYPE_INTEGER` |
    `static int` | `TYPE_INTEGER_PAIR` |
    `static int` | `TYPE_QNAME` |
    `static int` | `TYPE_STRING` |
    `static int` | `VALUE_PROHIBITED` |
    `static int` | `VALUE_REQUIRED` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CommandLineOptions()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addRecognizedOption​(java.lang.String option, int optionProperties, java.lang.String helpText)` | Set the permitted options.
    `void` | `applyFileParams​(Processor processor, Xslt30Transformer transformer)` | Apply XSLT 3.0 file-valued parameters to an XSLT transformer.
    `void` | `applyStaticParams​(XsltCompiler compiler)` | Apply XSLT 3.0 static parameters to a compilerInfo.
    `void` | `applyToConfiguration​(Processor processor)` | Apply options to the Configuration
    `boolean` | `definesParameterValues()` | Test whether there is any keyword=value option present
    `java.lang.String` | `displayPermittedOptions()` | Display the list the permitted options
    `static java.lang.String` | `featureKeys()` |
    `static java.lang.String` | `getCommandName​(java.lang.Object command)` |
    `java.lang.String` | `getOptionValue​(java.lang.String option)` | Get the value of a named option.
    `java.util.List<java.lang.String>` | `getPositionalOptions()` | Get the options specified positionally, that is, without a leading "-"
    `static boolean` | `isImplicitURI​(java.lang.String name)` |
    `static void` | `loadAdditionalSchemas​(Configuration config, java.lang.String additionalSchemas)` |
    `static boolean` | `loadDocuments​(java.lang.String sourceFileName, boolean useURLs, Processor processor, boolean useSAXSource, java.util.List<javax.xml.transform.Source> sources)` | Load a document, or all the documents in a directory, given a filename or URL
    `void` | `setActualOptions​(java.lang.String[] args)` | Set the options actually present on the command line
    `void` | `setParams​(Processor processor, CommandLineOptions.ParamSetter paramSetter)` |
    `void` | `setPermittedValues​(java.lang.String option, java.lang.String[] values, java.lang.String defaultValue)` | Set the permitted values for an option
    `void` | `setSerializationProperties​(Serializer serializer)` | Set any output properties appearing on the command line in the form `!indent=yes` as properties of the supplied `Serializer`
    `static java.lang.String` | `showExecutionTimeNano​(long nanosecs)` |
    `static void` | `showMemoryUsed()` |
    `boolean` | `testIfSchemaAware()` | Prescan the command line arguments to see if any of them imply use of a schema-aware processor

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TYPE_BOOLEAN

          public static final int TYPE_BOOLEAN

      See Also:
        Constant Field Values

    - #### TYPE_FILENAME

          public static final int TYPE_FILENAME

      See Also:
        Constant Field Values

    - #### TYPE_CLASSNAME

          public static final int TYPE_CLASSNAME

      See Also:
        Constant Field Values

    - #### TYPE_ENUMERATION

          public static final int TYPE_ENUMERATION

      See Also:
        Constant Field Values

    - #### TYPE_INTEGER

          public static final int TYPE_INTEGER

      See Also:
        Constant Field Values

    - #### TYPE_QNAME

          public static final int TYPE_QNAME

      See Also:
        Constant Field Values

    - #### TYPE_FILENAME_LIST

          public static final int TYPE_FILENAME_LIST

      See Also:
        Constant Field Values

    - #### TYPE_DATETIME

          public static final int TYPE_DATETIME

      See Also:
        Constant Field Values

    - #### TYPE_STRING

          public static final int TYPE_STRING

      See Also:
        Constant Field Values

    - #### TYPE_INTEGER_PAIR

          public static final int TYPE_INTEGER_PAIR

      See Also:
        Constant Field Values

    - #### VALUE_REQUIRED

          public static final int VALUE_REQUIRED

      See Also:
        Constant Field Values

    - #### VALUE_PROHIBITED

          public static final int VALUE_PROHIBITED

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CommandLineOptions

          public CommandLineOptions()

  - ### Method Detail

    - #### addRecognizedOption

          public void addRecognizedOption​(java.lang.String option,
                                          int optionProperties,
                                          java.lang.String helpText)

      Set the permitted options.
      Parameters:
        `option` - A permitted option.
        `optionProperties` - of this option, for example whether it is mandatory
        `helpText` - message to be output if the user needs help concerning this option

    - #### setPermittedValues

          public void setPermittedValues​(java.lang.String option,
                                         java.lang.String[] values,
                                         java.lang.String defaultValue)

      Set the permitted values for an option
      Parameters:
        `option` - the option keyword
        `values` - the set of permitted values
        `defaultValue` - the default value if the option is supplied but no value is given. May be null if no default is defined.

    - #### setActualOptions

          public void setActualOptions​(java.lang.String[] args)
                                throws XPathException

      Set the options actually present on the command line
      Parameters:
        `args` - the options supplied on the command line
      Throws:
        `XPathException` - if an unrecognized or invalid option is found

    - #### definesParameterValues

          public boolean definesParameterValues()

      Test whether there is any keyword=value option present
      Returns:
        true if there are any keyword=value options

    - #### testIfSchemaAware

          public boolean testIfSchemaAware()

      Prescan the command line arguments to see if any of them imply use of a schema-aware processor
      Returns:
        true if a schema-aware processor is needed

    - #### applyToConfiguration

          public void applyToConfiguration​(Processor processor)
                                    throws javax.xml.transform.TransformerException

      Apply options to the Configuration
      Parameters:
        `processor` - the s9api Processor object
      Throws:
        `javax.xml.transform.TransformerException` - if invalid options are present

    - #### displayPermittedOptions

          public java.lang.String displayPermittedOptions()

      Display the list the permitted options
      Returns:
        the list of permitted options, as a string

    - #### getOptionValue

          public java.lang.String getOptionValue​(java.lang.String option)

      Get the value of a named option. Returns null if the option was not present on the command line. Returns "" if the option was present but with no value ("-x" or "-x:").
      Parameters:
        `option` - the option keyword
      Returns:
        the option value, or null if not specified.

    - #### getPositionalOptions

          public java.util.List<java.lang.String> getPositionalOptions()

      Get the options specified positionally, that is, without a leading "-"
      Returns:
        the list of positional options

    - #### setParams

          public void setParams​(Processor processor,
                                CommandLineOptions.ParamSetter paramSetter)
                         throws SaxonApiException

      Throws:
        `SaxonApiException`

    - #### setSerializationProperties

          public void setSerializationProperties​(Serializer serializer)

      Set any output properties appearing on the command line in the form `!indent=yes` as properties of the supplied `Serializer`
      Parameters:
        `serializer` - the supplied `Serializer`, whose serialization properties are to be modified.

    - #### applyStaticParams

          public void applyStaticParams​(XsltCompiler compiler)
                                 throws SaxonApiException

      Apply XSLT 3.0 static parameters to a compilerInfo. Actually this sets all parameter values, whether static or dynamic. This is possible because the stylesheet is compiled for once-only use.
      Parameters:
        `compiler` - The XsltCompiler object into which the parameters are copied
      Throws:
        `SaxonApiException` - if invalid options are found

    - #### applyFileParams

          public void applyFileParams​(Processor processor,
                                      Xslt30Transformer transformer)
                               throws SaxonApiException

      Apply XSLT 3.0 file-valued parameters to an XSLT transformer. Most parameters are applied before compilation, so that the compiler can take advantage of knowing their values; but file-valued parameters (provided as +name=value) are deferred until run-time because of complications storing their values in a SEF file.
      Parameters:
        `transformer` - The Xslt30Transformer object into which the parameters are copied
      Throws:
        `SaxonApiException` - if invalid options are found

    - #### loadDocuments

          public static boolean loadDocuments​(java.lang.String sourceFileName,
                                              boolean useURLs,
                                              Processor processor,
                                              boolean useSAXSource,
                                              java.util.List<javax.xml.transform.Source> sources)
                                       throws SaxonApiException

      Load a document, or all the documents in a directory, given a filename or URL
      Parameters:
        `sourceFileName` - the name of the source file or directory
        `useURLs` - true if the filename argument is to be treated as a URI
        `processor` - the Saxon s9api Processor
        `useSAXSource` - true if the method should use a SAXSource rather than a StreamSource
        `sources` - an empty list which the method will populate. If sourceFileName represents a single source document, a corresponding XdmNode is added to the list. If sourceFileName represents a directory, multiple XdmNode objects, one for each file in the directory, are added to the list
      Returns:
        true if the supplied sourceFileName was found to be a directory
      Throws:
        `SaxonApiException` - if access to documents fails

    - #### isImplicitURI

          public static boolean isImplicitURI​(java.lang.String name)

    - #### loadAdditionalSchemas

          public static void loadAdditionalSchemas​(Configuration config,
                                                   java.lang.String additionalSchemas)
                                            throws SchemaException

      Throws:
        `SchemaException`

    - #### featureKeys

          public static java.lang.String featureKeys()

    - #### showExecutionTimeNano

          public static java.lang.String showExecutionTimeNano​(long nanosecs)

    - #### getCommandName

          public static java.lang.String getCommandName​(java.lang.Object command)

    - #### showMemoryUsed

          public static void showMemoryUsed()