# Class FunctionMapperImpl

java.lang.Object
jakarta.el.FunctionMapper
org.apache.el.lang.FunctionMapperImpl

All Implemented Interfaces:
  `Externalizable, Serializable`

public class FunctionMapperImpl extends FunctionMapper implements Externalizable
Thread-safe implementation of FunctionMapper that supports externalization.

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `FunctionMapperImpl.Function`
  Represents a mapped EL function with serialization support.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected ConcurrentMap<String, FunctionMapperImpl.Function>`
  `functions`
  Map of function keys to their Function instances.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FunctionMapperImpl()`
  Creates a new empty function mapper.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `mapFunction(String prefix, String localName, Method m)`
  Map a method to a function name.
  `void`
  `readExternal(ObjectInput in)`
  `Method`
  `resolveFunction(String prefix, String localName)`
  Resolves a function reference to its corresponding static `Method`.
  `void`
  `writeExternal(ObjectOutput out)`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### functions

    protected ConcurrentMap<String, FunctionMapperImpl.Function> functions
    Map of function keys to their Function instances.

- ## Constructor Details

  - ### FunctionMapperImpl

    public FunctionMapperImpl()
    Creates a new empty function mapper.

- ## Method Details

  - ### resolveFunction

    public Method resolveFunction(String prefix, String localName)
    Description copied from class: `jakarta.el.FunctionMapper`
    Resolves a function reference to its corresponding static `Method`.
    Specified by:
      `resolveFunction` in class `FunctionMapper`
    Parameters:
      `prefix` - the namespace prefix of the function
      `localName` - the local name of the function
    Returns:
      the `Method` object for the resolved function, or `null` if not found

  - ### mapFunction

    public void mapFunction(String prefix, String localName, Method m)
    Description copied from class: `jakarta.el.FunctionMapper`
    Map a method to a function name.
    Overrides:
      `mapFunction` in class `FunctionMapper`
    Parameters:
      `prefix` - Function prefix
      `localName` - Function name
      `m` - Method

  - ### writeExternal

    public void writeExternal(ObjectOutput out) throws IOException
    Specified by:
      `writeExternal` in interface `Externalizable`
    Throws:
      `IOException`

  - ### readExternal

    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
    Specified by:
      `readExternal` in interface `Externalizable`
    Throws:
      `IOException`
      `ClassNotFoundException`