Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
 - type EmptyConsumer
 - type Optional
 - func (o Optional) Filter(predicate predicate.Predicater) Optional
 - func (o *Optional) FlatMap(mapper func(interface{}) interface{}) Optional
 - func (o Optional) Get() interface{}
 - func (o Optional) IfPresent(action consumer.Consumer)
 - func (o Optional) IfPresentOrElse(action consumer.Consumer, emptyAction EmptyConsumer)
 - func (o Optional) IsPresent() bool
 - func (o Optional) Map(mapper func(interface{}) interface{}) Optional
 
Constants ¶
This section is empty.
Variables ¶
var (
	ErrorNoValuePresent = errors.New("no value present")
)
    Functions ¶
This section is empty.
Types ¶
type EmptyConsumer ¶
type EmptyConsumer interface {
	Run()
}
    type Optional ¶
type Optional struct {
	// contains filtered or unexported fields
}
    Optional is a container object which may or may not contain a non-{@code null} value. If a value is present, {@code isPresent()} returns {@code true}. If no value is present, the object is considered <i>empty</i> and {@code isPresent()} returns {@code false}.
func Empty ¶
func Empty() Optional
Empty returns an empty {@code Optional} instance. No value is present for this {@code Optional}.
func Of ¶
func Of(value interface{}) Optional
    Of Returns an {@code Optional} describing the given value.
func OfNillable ¶
func OfNillable(value interface{}) Optional
    OfNillable Returns an {@code Optional} describing the given value, if non-{@code null}, otherwise returns an empty {@code Optional}.
func (Optional) Filter ¶
func (o Optional) Filter(predicate predicate.Predicater) Optional
*
- If a value is present, and the value matches the given predicate,
 - returns an {@code Optional} describing the value, otherwise returns an
 - empty {@code Optional}. *
 - @param predicate the predicate to apply to a value, if present
 - @return an {@code Optional} describing the value of this
 - {@code Optional}, if a value is present and the value matches the
 - given predicate, otherwise an empty {@code Optional}
 - @throws NullPointerException if the predicate is {@code null}
 
func (*Optional) FlatMap ¶
*
- If a value is present, returns the result of applying the given
 - {@code Optional}-bearing mapping function to the value, otherwise returns
 - an empty {@code Optional}. *
 - <p>This method is similar to {@link #map(Function)}, but the mapping
 - function is one whose result is already an {@code Optional}, and if
 - invoked, {@code flatMap} does not wrap it within an additional
 - {@code Optional}. *
 - @param <U> The type of value of the {@code Optional} returned by the
 - mapping function
 - @param mapper the mapping function to apply to a value, if present
 - @return the result of applying an {@code Optional}-bearing mapping
 - function to the value of this {@code Optional}, if a value is
 - present, otherwise an empty {@code Optional}
 - @throws NullPointerException if the mapping function is {@code null} or
 - returns a {@code null} result
 
func (Optional) Get ¶
func (o Optional) Get() interface{}
Get returns the value if a value is present, otherwise throws {@code ErrorNoValuePresent}.
func (Optional) IfPresent ¶
*
- If a value is present, performs the given action with the value,
 - otherwise does nothing. *
 - @param action the action to be performed, if a value is present
 - @throws ErrorNilPointer if value is present and the given action is
 - {@code null}
 
func (Optional) IfPresentOrElse ¶
func (o Optional) IfPresentOrElse(action consumer.Consumer, emptyAction EmptyConsumer)
*
- If a value is present, performs the given action with the value,
 - otherwise performs the given empty-based action. *
 - @param action the action to be performed, if a value is present
 - @param emptyAction the empty-based action to be performed, if no value is
 - present
 - @throws NullPointerException if a value is present and the given action
 - is {@code null}, or no value is present and the given empty-based
 - action is {@code null}.
 - @since 9
 
func (Optional) IsPresent ¶
IsPresent returns {@code true} if a value is present, otherwise {@code false}.
func (Optional) Map ¶
*
- If a value is present, returns an {@code Optional} describing (as if by
 - {@link #ofNullable}) the result of applying the given mapping function to
 - the value, otherwise returns an empty {@code Optional}. *
 - <p>If the mapping function returns a {@code null} result then this method
 - returns an empty {@code Optional}. *
 - @apiNote
 - This method supports post-processing on {@code Optional} values, without
 - the need to explicitly check for a return status. For example, the
 - following code traverses a stream of URIs, selects one that has not
 - yet been processed, and creates a path from that URI, returning
 - an {@code Optional<Path>}: *
 - <pre>{@code
 - Optional<Path> p =
 - uris.stream().filter(uri -> !isProcessedYet(uri))
 - .findFirst()
 - .map(Paths::get);
 - }</pre> *
 - Here, {@code findFirst} returns an {@code Optional<URI>}, and then
 - {@code map} returns an {@code Optional<Path>} for the desired
 - URI if one exists. *
 - @param mapper the mapping function to apply to a value, if present
 - @param <U> The type of the value returned from the mapping function
 - @return an {@code Optional} describing the result of applying a mapping
 - function to the value of this {@code Optional}, if a value is
 - present, otherwise an empty {@code Optional}
 - @throws NullPointerException if the mapping function is {@code null}