Class StaticContext

java.lang.Object
org.rumbledb.context.StaticContext
All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable, Serializable

public class StaticContext extends Object implements Serializable, com.esotericsoftware.kryo.KryoSerializable
See Also:
  • Constructor Details

  • Method Details

    • getParent

      public StaticContext getParent()
    • getRumbleConfiguration

      public RumbleRuntimeConfiguration getRumbleConfiguration()
    • getStaticBaseURI

      public URI getStaticBaseURI()
    • setStaticBaseUri

      public void setStaticBaseUri(URI staticBaseURI)
    • isInScope

      public boolean isInScope(Name varName)
    • getFunctionSignature

      public FunctionSignature getFunctionSignature(FunctionIdentifier identifier)
    • replaceVariableSequenceType

      public void replaceVariableSequenceType(Name varName, SequenceType newSequenceType)
    • getVariableSequenceType

      public SequenceType getVariableSequenceType(Name varName)
    • getVariableMetadata

      public ExceptionMetadata getVariableMetadata(Name varName)
    • getVariableStorageMode

      public ExecutionMode getVariableStorageMode(Name varName)
    • setVariableStorageMode

      public void setVariableStorageMode(Name varName, ExecutionMode mode)
    • addVariable

      public void addVariable(Name varName, SequenceType type, ExceptionMetadata metadata)
    • addVariable

      public void addVariable(Name varName, SequenceType type, ExceptionMetadata metadata, boolean isAssignable)
    • addFunctionSignature

      public void addFunctionSignature(FunctionIdentifier identifier, FunctionSignature signature)
    • getInScopeVariables

      public Map<Name,InScopeVariable> getInScopeVariables()
    • show

      public void show()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hasVariable

      public boolean hasVariable(Name variableName)
    • hasVariableInScopeOnly

      public boolean hasVariableInScopeOnly(Name variableName)
    • bindNamespace

      public boolean bindNamespace(String prefix, String namespace)
    • resolveNamespace

      public String resolveNamespace(String prefix)
    • getInScopeNamespaceBindings

      public Map<String,String> getInScopeNamespaceBindings()
    • write

      public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output)
      Specified by:
      write in interface com.esotericsoftware.kryo.KryoSerializable
    • read

      public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input)
      Specified by:
      read in interface com.esotericsoftware.kryo.KryoSerializable
    • getSerializationParameters

      public SerializationParameters getSerializationParameters()
      Returns the default serialization parameters stored in the static context. Spec references: - XQuery 3.1 Static Context Components (link: https://www.w3.org/TR/xquery-31/#id-xq-static-context-components) - Serialization 3.1 — Serialization Parameters (link: https://www.w3.org/TR/xslt-xquery-serialization-31/#serparam)
    • setSerializationParameters

      public void setSerializationParameters(SerializationParameters serializationParameters)
      Sets the default serialization parameters at this static context level.
    • overrideSerializationParameter

      public void overrideSerializationParameter(String name, String value)
      Override the serialization parameters with the provided parameter name and value. Throws InvalidSerializationParameterValueException for invalid inputs.
      Parameters:
      name - the name of the parameter to update
      value - the value of the parameter to update
      Throws:
      InvalidSerializationParameterValueException - if the parameter value is invalid
    • importModuleContext

      public void importModuleContext(StaticContext moduleContext)
    • setUserDefinedFunctionsExecutionModes

      public void setUserDefinedFunctionsExecutionModes(UserDefinedFunctionExecutionModes staticallyKnownFunctionSignatures)
    • getUserDefinedFunctionsExecutionModes

      public UserDefinedFunctionExecutionModes getUserDefinedFunctionsExecutionModes()
    • setEmptySequenceOrderLeast

      public void setEmptySequenceOrderLeast(boolean emptySequenceOrderLeast)
    • setDefaultFunctionNamespaceUri

      public void setDefaultFunctionNamespaceUri(String uri)
      Default function namespace URI for unprefixed function names (XQuery prolog). Root/module context only.
    • getDefaultFunctionNamespaceUri

      public String getDefaultFunctionNamespaceUri()
      Returns:
      the declared default function namespace URI, or null if not set (use JSONiq default function NS)
    • isEmptySequenceOrderLeast

      public boolean isEmptySequenceOrderLeast()
    • getModuleContext

      public StaticContext getModuleContext()
    • getContextItemStaticType

      public SequenceType getContextItemStaticType()
    • setContextItemStaticType

      public void setContextItemStaticType(SequenceType contextItemStaticType)
    • incrementArities

      public void incrementArities(StaticContext stopContext, Set<Name> varToExclude)
    • bindDefaultNamespaces

      public void bindDefaultNamespaces()
    • getBuiltinNamespaceBinding

      public static String getBuiltinNamespaceBinding(String prefix)
      Built-in namespace bindings (fn, xs, map, ...) used when resolving QNames without a full static context.
    • getInScopeSchemaTypes

      public InScopeSchemaTypes getInScopeSchemaTypes()
    • getCurrentMutabilityLevel

      public int getCurrentMutabilityLevel()
    • setCurrentMutabilityLevel

      public void setCurrentMutabilityLevel(int currentMutabilityLevel)
    • getIsAssignable

      public boolean getIsAssignable(Name name)
    • setDefaultDecimalFormat

      public void setDefaultDecimalFormat(DecimalFormatDefinition decimalFormat)
    • addDecimalFormat

      public void addDecimalFormat(Name name, DecimalFormatDefinition decimalFormat, ExceptionMetadata metadata)
    • getDefaultDecimalFormat

      public DecimalFormatDefinition getDefaultDecimalFormat()
    • getDecimalFormats

      public Map<Name,DecimalFormatDefinition> getDecimalFormats()