# Class Optional

java.lang.Object
org.apache.el.stream.Optional

public class Optional extends Object
Represents an optional value that may or may not be present.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `get()`
  Returns the contained value, or throws an exception if empty.
  `void`
  `ifPresent(LambdaExpression le)`
  If a value is present, invokes the given lambda with the value.
  `Object`
  `orElse(Object other)`
  Returns the contained value, or the given default value if empty.
  `Object`
  `orElseGet(Object le)`
  Returns the contained value, or the result of evaluating the given lambda if empty.

  ### Methods inherited from class Object

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

- ## Method Details

  - ### get

    public Object get() throws ELException
    Returns the contained value, or throws an exception if empty.
    Returns:
      The contained value
    Throws:
      `ELException` - if the value is not present

  - ### ifPresent

    public void ifPresent(LambdaExpression le)
    If a value is present, invokes the given lambda with the value.
    Parameters:
      `le` - The lambda expression to invoke

  - ### orElse

    public Object orElse(Object other)
    Returns the contained value, or the given default value if empty.
    Parameters:
      `other` - The default value
    Returns:
      The contained value or the default

  - ### orElseGet

    public Object orElseGet(Object le)
    Returns the contained value, or the result of evaluating the given lambda if empty.
    Parameters:
      `le` - The lambda expression or already-evaluated value
    Returns:
      The contained value or the result of the lambda