Package cs2030s.fp

## Class Actually.Success<T>

- java.lang.Object
- - cs2030s.fp.Actually<T>
  - - cs2030s.fp.Actually.Success<T>

All Implemented Interfaces:
  `Actionable<T>`, `Immutatorable<T>`

Enclosing class:
  Actually<T>

    private static class Actually.Success<T>
    extends Actually<T>

### Field Summary

Fields
`private T` `value`

### Constructor Summary

Constructors
`private` `Success​(T value)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `act​(Action<? super T> action)` The method to act on its content.
`boolean` `equals​(java.lang.Object obj)`
`<U extends T> T` `except​(Constant<? extends U> c)`
`void` `finish​(Action<? super T> action)`
`<R> Actually<R>` `next​(Immutator<? extends Actually<? extends R>,​? super T> immutator)`
`java.lang.String` `toString()`
`<R> Actually<R>` `transform​(Immutator<? extends R,​? super T> immutator)` The method to produce another container with immutated element.
`<U extends T> T` `unless​(U other)`
`T` `unwrap()`

### Methods inherited from class cs2030s.fp.Actually

`err, ok`

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

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

### Field Detail

#### value

    private final T value

### Constructor Detail

#### Success

    private Success​(T value)

### Method Detail

#### unwrap

    public T unwrap()

Specified by:
  `unwrap` in class `Actually<T>`

#### except

    public <U extends T> T except​(Constant<? extends U> c)

Specified by:
  `except` in class `Actually<T>`

#### finish

    public void finish​(Action<? super T> action)

Specified by:
  `finish` in class `Actually<T>`

#### unless

    public <U extends T> T unless​(U other)

Specified by:
  `unless` in class `Actually<T>`

#### next

    public <R> Actually<R> next​(Immutator<? extends Actually<? extends R>,​? super T> immutator)

Specified by:
  `next` in class `Actually<T>`

#### transform

    public <R> Actually<R> transform​(Immutator<? extends R,​? super T> immutator)

Description copied from interface: `Immutatorable`
The method to produce another container with immutated element.

Type Parameters:
  `R` - the return type
Parameters:
  `immutator` - The immutator.
Returns:
  A new container containing the immutated element.

#### act

    public void act​(Action<? super T> action)

Description copied from interface: `Actionable`
The method to act on its content.

Parameters:
  `action` - The action.

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### equals

    public boolean equals​(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`