Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.instruct
Class Executable

    java.lang.Object
      net.sf.saxon.instruct.Executable

All Implemented Interfaces:
  java.io.Serializable

public class Executable
extends java.lang.Object
implements java.io.Serializable

A compiled stylesheet or a query in executable form. Note that the original stylesheet tree is not retained.

See Also:
  Serialized Form

Constructor Summary
`Executable()`

Method Summary
`void` | `addQueryLibraryModule(StaticQueryContext module)` Add an XQuery library module to the configuration.
`void` | `addRequiredParam(int fingerprint)` Add a required parameter
`void` | `checkAllRequiredParamsArePresent(GlobalParameterSet params)` Check that all required parameters have been supplied
`void` | `fixupQueryModules(StaticQueryContext main)` Fix up global variables and functions in all query modules.
`IntHashMap` | `getCharacterMapIndex()` Get the index of named character maps
`java.util.HashMap` | `getCollationTable()` Get the table of collations
`IntHashMap` | `getCompiledGlobalVariables()` Get the index of global variables
`Configuration` | `getConfiguration()` Get the configuration
`DecimalFormatManager` | `getDecimalFormatManager()` Get the DecimalFormatManager which handles decimal-format definitions
`java.util.Comparator` | `getDefaultCollation()` Get the default collation
`java.lang.String` | `getDefaultCollationName()` Get the name of the default collation
`java.util.Properties` | `getDefaultOutputProperties()` Get the default output properties
`FunctionLibrary` | `getFunctionLibrary()` Get the library containing all the in-scope functions in the static context
`SlotManager` | `getGlobalVariableMap()` Get the global variable map
`int` | `getHostLanguage()` Get the host language
`KeyManager` | `getKeyManager()` Get the KeyManager which handles key definitions
`int` | `getLargestPatternStackFrame()` Determine the size of the stack frame needed for evaluating match patterns
`LocationMap` | `getLocationMap()` Get the location map
`java.util.Comparator` | `getNamedCollation(java.lang.String name)` Find a named collation.
`Template` | `getNamedTemplate(int fingerprint)` Get the named template with a given name.
`IntHashMap` | `getNamedTemplateTable()` Get the named template table.
`java.util.Properties` | `getOutputProperties(int fingerprint)` Get a named output format
`java.util.List` | `getQueryLibraryModules(java.lang.String namespace)` Locate the known XQuery library modules for a given module namespace.
`java.lang.String` | `getReasonUnableToCompile()` Determine whether this executable can be compiled; and if it can't, return the reason why
`RuleManager` | `getRuleManager()` Get the RuleManager which handles template rules
`Mode` | `getStripperRules()` Get the rules determining which nodes are to be stripped from the tree
`void` | `initialiseBindery(Bindery bindery)` Allocate space in bindery for all the variables needed
`Stripper` | `newStripper()` Create a Stripper which handles whitespace stripping definitions
`void` | `putNamedTemplate(int fingerprint, Template template)` Register the named template with a given name
`void` | `registerGlobalVariable(GlobalVariable variable)` Register a global variable
`void` | `setCharacterMapIndex(IntHashMap cmi)` Set the index of named character maps
`void` | `setCollationTable(java.util.HashMap table)` Set the table of collations
`void` | `setConfiguration(Configuration config)` Set the configuration
`void` | `setDecimalFormatManager(DecimalFormatManager dfm)` Set the DecimalFormatManager which handles decimal-format definitions
`void` | `setDefaultCollationName(java.lang.String name)` Set the default collation
`void` | `setDefaultOutputProperties(java.util.Properties properties)` Set the default output properties (the properties for the unnamed output format)
`void` | `setFunctionLibrary(FunctionLibrary functionLibrary)` Set the library containing all the in-scope functions in the static context
`void` | `setHostLanguage(int language)` Set the host language
`void` | `setKeyManager(KeyManager km)` Set the KeyManager which handles key definitions
`void` | `setLocationMap(LocationMap map)` Set the location map
`void` | `setOutputProperties(int fingerprint, java.util.Properties properties)` An a named output format
`void` | `setPatternSlotSpace(int patternLocals)` Set the space requirements for variables used in template match patterns
`void` | `setReasonUnableToCompile(java.lang.String reason)` If this Executable can't be compiled, set a message explaining why
`void` | `setRuleManager(RuleManager rm)` Set the RuleManager that handles template rules
`void` | `setStripperRules(Mode rules)` Set the rules determining which nodes are to be stripped from the tree
`void` | `setStripsInputTypeAnnotations(boolean strips)` Set whether source documents are to have their type annotations stripped
`void` | `setStripsWhitespace(boolean strips)` Indicate that the stylesheet does some whitespace stripping
`boolean` | `stripsInputTypeAnnotations()` Determine whether source documents are to have their type annotations stripped
`boolean` | `stripsWhitespace()` Determine whether this stylesheet does any whitespace stripping

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Executable

    public Executable()

Method Detail

### setConfiguration

    public void setConfiguration(Configuration config)

  Set the configuration

### getConfiguration

    public Configuration getConfiguration()

  Get the configuration

### setHostLanguage

    public void setHostLanguage(int language)

  Set the host language

### getHostLanguage

    public int getHostLanguage()

  Get the host language

  Returns:
    a value identifying the host language: `Configuration.XQUERY` or `Configuration.XSLT` or `Configuration.JAVA_APPLICATION`

### setRuleManager

    public void setRuleManager(RuleManager rm)

  Set the RuleManager that handles template rules

  Parameters:
    `rm` - the RuleManager containing details of all the template rules

### getRuleManager

    public RuleManager getRuleManager()

  Get the RuleManager which handles template rules

  Returns:
    the RuleManager registered with setRuleManager

### getNamedTemplateTable

    public IntHashMap getNamedTemplateTable()

  Get the named template table. Provided for use by tools allowing selection of a transformation entry point from a supplied list.

  Returns:
    a hash table containing entries that map the names of named templates (in the form of namePool fingerprints) to the Template objects representing the compiled xsl:template element in the stylesheet.

### getNamedTemplate

    public Template getNamedTemplate(int fingerprint)

  Get the named template with a given name.

  Parameters:
    `fingerprint` - The namepool fingerprint of the template name
  Returns:
    The template (of highest import precedence) with this name if there is one; null if none is found.

### putNamedTemplate

    public void putNamedTemplate(int fingerprint,
                                 Template template)

  Register the named template with a given name

### getFunctionLibrary

    public FunctionLibrary getFunctionLibrary()

  Get the library containing all the in-scope functions in the static context

  Returns:
    the function libary

### setFunctionLibrary

    public void setFunctionLibrary(FunctionLibrary functionLibrary)

  Set the library containing all the in-scope functions in the static context

  Parameters:
    `functionLibrary` - the function libary

### setCharacterMapIndex

    public void setCharacterMapIndex(IntHashMap cmi)

  Set the index of named character maps

  Parameters:
    `cmi` - a hash table that maps the names of character maps to the HashMap objects representing the character maps

### getCharacterMapIndex

    public IntHashMap getCharacterMapIndex()

  Get the index of named character maps

  Returns:
    the hash table that maps the names of character maps to the HashMap objects representing the character maps

### setStripperRules

    public void setStripperRules(Mode rules)

  Set the rules determining which nodes are to be stripped from the tree

  Parameters:
    `rules` - a Mode object containing the whitespace stripping rules. A Mode is generally a collection of template rules, but it is reused here to represent a collection of stripping rules.

### getStripperRules

    public Mode getStripperRules()

  Get the rules determining which nodes are to be stripped from the tree

  Returns:
    a Mode object containing the whitespace stripping rules. A Mode is generally a collection of template rules, but it is reused here to represent a collection of stripping rules.

### setStripsWhitespace

    public void setStripsWhitespace(boolean strips)

  Indicate that the stylesheet does some whitespace stripping

  Parameters:
    `strips` - true if the stylesheet performs whitespace stripping of one or more elements.

### newStripper

    public Stripper newStripper()

  Create a Stripper which handles whitespace stripping definitions

  Returns:
    the constructed Stripper object

### stripsWhitespace

    public boolean stripsWhitespace()

  Determine whether this stylesheet does any whitespace stripping

  Returns:
    true if the stylesheet performs whitespace stripping of one or more elements.

### setStripsInputTypeAnnotations

    public void setStripsInputTypeAnnotations(boolean strips)

  Set whether source documents are to have their type annotations stripped

### stripsInputTypeAnnotations

    public boolean stripsInputTypeAnnotations()

  Determine whether source documents are to have their type annotations stripped

### setKeyManager

    public void setKeyManager(KeyManager km)

  Set the KeyManager which handles key definitions

  Parameters:
    `km` - the KeyManager containing the xsl:key definitions

### getKeyManager

    public KeyManager getKeyManager()

  Get the KeyManager which handles key definitions

  Returns:
    the KeyManager containing the xsl:key definitions

### setDefaultOutputProperties

    public void setDefaultOutputProperties(java.util.Properties properties)

  Set the default output properties (the properties for the unnamed output format)

  Parameters:
    `properties` - the output properties to be used when the unnamed output format is selected

### getDefaultOutputProperties

    public java.util.Properties getDefaultOutputProperties()

  Get the default output properties

  Returns:
    the properties for the unnamed output format

### setOutputProperties

    public void setOutputProperties(int fingerprint,
                                    java.util.Properties properties)

  An a named output format

  Parameters:
    `fingerprint` - the name of the output format
    `properties` - the properties of the output format

### getOutputProperties

    public java.util.Properties getOutputProperties(int fingerprint)

  Get a named output format

  Parameters:
    `fingerprint` - the name of the output format
  Returns:
    properties the properties of the output format. Return null if there are no output properties with the given name

### setDecimalFormatManager

    public void setDecimalFormatManager(DecimalFormatManager dfm)

  Set the DecimalFormatManager which handles decimal-format definitions

  Parameters:
    `dfm` - the DecimalFormatManager containing the named xsl:decimal-format definitions

### getDecimalFormatManager

    public DecimalFormatManager getDecimalFormatManager()

  Get the DecimalFormatManager which handles decimal-format definitions

  Returns:
    the DecimalFormatManager containing the named xsl:decimal-format definitions

### setDefaultCollationName

    public void setDefaultCollationName(java.lang.String name)

  Set the default collation

  Parameters:
    `name` - the name of the default collation

### getDefaultCollationName

    public java.lang.String getDefaultCollationName()

  Get the name of the default collation

  Returns:
    the name of the default collation; this is the code point collation URI if no other default has been set up.

### getDefaultCollation

    public java.util.Comparator getDefaultCollation()

  Get the default collation

  Returns:
    a Comparator that implements the default collation

### setCollationTable

    public void setCollationTable(java.util.HashMap table)

  Set the table of collations

  Parameters:
    `table` - a hash table that maps collation names (URIs) to objects representing the collation information

### getCollationTable

    public java.util.HashMap getCollationTable()

  Get the table of collations

  Returns:
    a hash table that maps collation names (URIs) to objects representing the collation information

### getNamedCollation

    public java.util.Comparator getNamedCollation(java.lang.String name)

  Find a named collation.

  Parameters:
    `name` - identifies the name of the collation required; null indicates that the default collation is required
  Returns:
    the requested collation, or null if the collation is not found

### addQueryLibraryModule

    public void addQueryLibraryModule(StaticQueryContext module)

  Add an XQuery library module to the configuration. The Executable maintains a table indicating for each module namespace, the set of modules that have been loaded from that namespace. If a module import is encountered that specifies no location hint, all the known modules for that namespace are imported.

### getQueryLibraryModules

    public java.util.List getQueryLibraryModules(java.lang.String namespace)

  Locate the known XQuery library modules for a given module namespace.

  Parameters:
    `namespace` - the module namespace URI
  Returns:
    a list of items each of which is the StaticQueryContext representing a module, or null if the module namespace is unknown

### fixupQueryModules

    public void fixupQueryModules(StaticQueryContext main)
                           throws XPathException

  Fix up global variables and functions in all query modules. This is done right at the end, because recursive imports are permitted

  Throws:
    `XPathException`

### setPatternSlotSpace

    public void setPatternSlotSpace(int patternLocals)

  Set the space requirements for variables used in template match patterns

  Parameters:
    `patternLocals` - The largest number of local variables used in the match pattern of any template rule

### getGlobalVariableMap

    public SlotManager getGlobalVariableMap()

  Get the global variable map

  Returns:
    the SlotManager defining the allocation of slots to global variables

### getCompiledGlobalVariables

    public IntHashMap getCompiledGlobalVariables()

  Get the index of global variables

  Returns:
    the index of global variables. This is a HashMap in which the key is the integer fingerprint of the variable name, and the value is the GlobalVariable object representing the compiled global variable

### registerGlobalVariable

    public void registerGlobalVariable(GlobalVariable variable)

  Register a global variable

### initialiseBindery

    public void initialiseBindery(Bindery bindery)

  Allocate space in bindery for all the variables needed

  Parameters:
    `bindery` - The bindery to be initialized

### getLargestPatternStackFrame

    public int getLargestPatternStackFrame()

  Determine the size of the stack frame needed for evaluating match patterns

### setLocationMap

    public void setLocationMap(LocationMap map)

  Set the location map

### getLocationMap

    public LocationMap getLocationMap()

  Get the location map

### addRequiredParam

    public void addRequiredParam(int fingerprint)

  Add a required parameter

### checkAllRequiredParamsArePresent

    public void checkAllRequiredParamsArePresent(GlobalParameterSet params)
                                          throws XPathException

  Check that all required parameters have been supplied

  Throws:
    `XPathException`

### setReasonUnableToCompile

    public void setReasonUnableToCompile(java.lang.String reason)

  If this Executable can't be compiled, set a message explaining why

### getReasonUnableToCompile

    public java.lang.String getReasonUnableToCompile()

  Determine whether this executable can be compiled; and if it can't, return the reason why

  Returns:
    null if the executable can be compiled, or a message otherwise

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD