Package net.sf.saxon.ma.map

## Class MapFunctionSet.MapGet

- java.lang.Object
- - net.sf.saxon.functions.AbstractFunction
  - - net.sf.saxon.functions.SystemFunction
    - - net.sf.saxon.ma.map.MapFunctionSet.MapGet

- All Implemented Interfaces:
    `Callable`, `Function`, `GroundedValue`, `Item`, `Sequence`
  Enclosing class:
    MapFunctionSet

      public static class MapFunctionSet.MapGet
      extends SystemFunction

  Implementation of the XPath 3.1 function map:get(Map, key) => value

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Sequence` | `call​(XPathContext context, Sequence[] arguments)` | Invoke the function
    `int` | `getCardinality​(Expression[] args)` | Get the cardinality, given knowledge of the actual arguments
    `ItemType` | `getResultItemType​(Expression[] args)` | Get the return type, given knowledge of the actual arguments
    `Expression` | `makeOptimizedFunctionCall​(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo, Expression... arguments)` | Allow the function to create an optimized call based on the values of the actual arguments
    `void` | `supplyTypeInformation​(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType, Expression[] arguments)` | Method called during static type checking.

    - ### Methods inherited from class net.sf.saxon.functions.SystemFunction

      `dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCompilerName, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, importAttributes, isTrustedResultType, makeCall, makeFunction, makeFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, toShortString, toString, typeCheckCaller`

    - ### Methods inherited from class net.sf.saxon.functions.AbstractFunction

      `atomize, deepEquals, effectiveBooleanValue, getAnnotations, getStringValue, getStringValueCS, isArray, isMap, makeNewContext, simplify, typeCheck`

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

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

    - ### Methods inherited from interface net.sf.saxon.om.Function

      `getGenre`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `getLength, head, isStreamed, itemAt, iterate, reduce, subsequence`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

- - ### Constructor Detail

    - #### MapGet

          public MapGet()

  - ### Method Detail

    - #### supplyTypeInformation

          public void supplyTypeInformation​(ExpressionVisitor visitor,
                                            ContextItemStaticInfo contextItemType,
                                            Expression[] arguments)
                                     throws XPathException

      Method called during static type checking. This method may be implemented in subclasses so that functions can take advantage of knowledge of the types of the arguments that will be supplied.
      Overrides:
        `supplyTypeInformation` in class `SystemFunction`
      Parameters:
        `visitor` - an expression visitor, providing access to the static context and configuration
        `contextItemType` - information about whether the context item is set, and what its type is
        `arguments` - the expressions appearing as arguments in the function call
      Throws:
        `XPathException`

    - #### getResultItemType

          public ItemType getResultItemType​(Expression[] args)

      Get the return type, given knowledge of the actual arguments
      Overrides:
        `getResultItemType` in class `SystemFunction`
      Parameters:
        `args` - the actual arguments supplied
      Returns:
        the best available item type that the function will return

    - #### getCardinality

          public int getCardinality​(Expression[] args)

      Get the cardinality, given knowledge of the actual arguments
      Overrides:
        `getCardinality` in class `SystemFunction`
      Parameters:
        `args` - the actual arguments supplied
      Returns:
        the most precise available cardinality that the function will return

    - #### makeOptimizedFunctionCall

          public Expression makeOptimizedFunctionCall​(ExpressionVisitor visitor,
                                                      ContextItemStaticInfo contextInfo,
                                                      Expression... arguments)
                                               throws XPathException

      Allow the function to create an optimized call based on the values of the actual arguments
      Overrides:
        `makeOptimizedFunctionCall` in class `SystemFunction`
      Parameters:
        `visitor` - the expression visitor
        `contextInfo` - information about the context item
        `arguments` - the supplied arguments to the function call. Note: modifying the contents of this array should not be attempted, it is likely to have no effect.
      Returns:
        either a function call on this function, or an expression that delivers the same result, or null indicating that no optimization has taken place
      Throws:
        `XPathException` - if an error is detected

    - #### call

          public Sequence call​(XPathContext context,
                               Sequence[] arguments)
                        throws XPathException

      Description copied from interface: `Function`
      Invoke the function
      Parameters:
        `context` - the XPath dynamic evaluation context
        `arguments` - the actual arguments to be supplied
      Returns:
        the result of invoking the function
      Throws:
        `XPathException` - if a dynamic error occurs within the function