org.op4j.operators.impl.fn.set
Class Level1SetElementsOperator<I,T>

Object
  extended by org.op4j.operators.impl.AbstractOperator
      extended by org.op4j.operators.impl.fn.set.Level1SetElementsOperator<I,T>
All Implemented Interfaces:
ILevel1SetElementsOperator<I,T>, CastableToTypeOperator<T>, ExecutableElementsOperator<T>, NavigatingCollectionOperator<T>, Operator, ReplaceableIfNullOperator<T>, ReplaceableOperator<T>, SelectableElementsOperator<T>, UniqFnOperator<I,Set<T>>, UniqOperator<Set<T>>

public final class Level1SetElementsOperator<I,T>
extends AbstractOperator
implements UniqFnOperator<I,Set<T>>, ILevel1SetElementsOperator<I,T>

Since:
1.0
Author:
Daniel Fernández

Constructor Summary
Level1SetElementsOperator(Target target)
           
 
Method Summary
<X> Level1SetElementsOperator<I,X>
castTo(org.javaruntype.type.Type<X> type)
           Casts the operator's target as the specified type.
 Level0SetOperator<I,T> endFor()
           Ends the current iteration.
<X> Level1SetElementsOperator<I,X>
exec(IFunction<? super T,X> function)
           Executes the specified function on the target object, creating a new array containing the result of the execution.
 Level1SetElementsOperator<I,T> execIfFalse(IFunction<? super T,Boolean> eval, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> Level1SetElementsOperator<I,X>
execIfFalse(IFunction<? super T,Boolean> eval, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 Level1SetElementsOperator<I,T> execIfIndex(int[] indexes, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> Level1SetElementsOperator<I,X>
execIfIndex(int[] indexes, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 Level1SetElementsOperator<I,T> execIfIndexNot(int[] indexes, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> Level1SetElementsOperator<I,X>
execIfIndexNot(int[] indexes, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 Level1SetElementsOperator<I,T> execIfNotNull(IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> Level1SetElementsOperator<I,X>
execIfNotNull(IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 Level1SetElementsOperator<I,T> execIfNull(IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> Level1SetElementsOperator<I,X>
execIfNull(IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 Level1SetElementsOperator<I,T> execIfTrue(IFunction<? super T,Boolean> eval, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> Level1SetElementsOperator<I,X>
execIfTrue(IFunction<? super T,Boolean> eval, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 Function<I,Set<T>> get()
           Returns a function which will execute all the logic specified from the "Fn.on" expression.
 Level1SetElementsSelectedOperator<I,T> ifFalse(IFunction<? super T,Boolean> eval)
           Selects only those targets for which the specified evaluator returns false.
 Level1SetElementsSelectedOperator<I,T> ifIndex(int... indexes)
           Selects only those targets which index in the current level of iteration matches any of the specified indexes.
 Level1SetElementsSelectedOperator<I,T> ifIndexNot(int... indexes)
           Selects only those targets which index in the current level of iteration does not match any of the specified indexes.
 Level1SetElementsSelectedOperator<I,T> ifNotNull()
           Selects only those targets which are not null.
 Level1SetElementsSelectedOperator<I,T> ifNull()
           Selects only those targets which are null.
 Level1SetElementsSelectedOperator<I,T> ifTrue(IFunction<? super T,Boolean> eval)
           Selects only those targets for which the specified evaluator returns true.
 Level1SetElementsOperator<I,T> replaceIfNullWith(T replacement)
           Replaces the current target object with the specified replacement if the current target is null.
 Level1SetElementsOperator<I,T> replaceWith(T replacement)
           Replaces the current target object with the specified replacement.
 
Methods inherited from class org.op4j.operators.impl.AbstractOperator
getTarget
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Level1SetElementsOperator

public Level1SetElementsOperator(Target target)
Method Detail

endFor

public Level0SetOperator<I,T> endFor()
Description copied from interface: NavigatingCollectionOperator

Ends the current iteration. After the execution of this method, all subsequent operations will be applied on the iterated collection as a whole instead of in a by-element basis.

Specified by:
endFor in interface ILevel1SetElementsOperator<I,T>
Specified by:
endFor in interface NavigatingCollectionOperator<T>
Returns:
an operator which will execute all operations on the iterated collection as a whole.

castTo

public <X> Level1SetElementsOperator<I,X> castTo(org.javaruntype.type.Type<X> type)
Description copied from interface: CastableToTypeOperator

Casts the operator's target as the specified type.

Specified by:
castTo in interface ILevel1SetElementsOperator<I,T>
Specified by:
castTo in interface CastableToTypeOperator<T>
Type Parameters:
X - the type of the targets
Parameters:
type - the type of targets
Returns:
the resulting casted operator

get

public Function<I,Set<T>> get()
Description copied from interface: UniqFnOperator

Returns a function which will execute all the logic specified from the "Fn.on" expression.

Specified by:
get in interface UniqFnOperator<I,Set<T>>
Returns:
the function.

ifIndex

public Level1SetElementsSelectedOperator<I,T> ifIndex(int... indexes)
Description copied from interface: SelectableElementsOperator

Selects only those targets which index in the current level of iteration matches any of the specified indexes. After this method, all the subsequently executed operations will only be executed on the target objects selected here, until an "endIf()" method is called.

Specified by:
ifIndex in interface ILevel1SetElementsOperator<I,T>
Specified by:
ifIndex in interface SelectableElementsOperator<T>
Parameters:
indexes - the indexes of the target objects which will be selected.
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

ifIndexNot

public Level1SetElementsSelectedOperator<I,T> ifIndexNot(int... indexes)
Description copied from interface: SelectableElementsOperator

Selects only those targets which index in the current level of iteration does not match any of the specified indexes. After this method, all the subsequently executed operations will only be executed on the target objects selected here, until an "endIf()" method is called.

Specified by:
ifIndexNot in interface ILevel1SetElementsOperator<I,T>
Specified by:
ifIndexNot in interface SelectableElementsOperator<T>
Parameters:
indexes - the indexes of the target objects which will be selected.
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

ifTrue

public Level1SetElementsSelectedOperator<I,T> ifTrue(IFunction<? super T,Boolean> eval)
Description copied from interface: SelectableElementsOperator

Selects only those targets for which the specified evaluator returns true. After this method, all the subsequently executed operations will only be executed on the target objects selected here, until an "endIf()" method is called.

Specified by:
ifTrue in interface ILevel1SetElementsOperator<I,T>
Specified by:
ifTrue in interface SelectableElementsOperator<T>
Parameters:
eval - the evaluator to be used for selecting targets.
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

ifFalse

public Level1SetElementsSelectedOperator<I,T> ifFalse(IFunction<? super T,Boolean> eval)
Description copied from interface: SelectableElementsOperator

Selects only those targets for which the specified evaluator returns false. After this method, all the subsequently executed operations will only be executed on the target objects selected here, until an "endIf()" method is called.

Specified by:
ifFalse in interface ILevel1SetElementsOperator<I,T>
Specified by:
ifFalse in interface SelectableElementsOperator<T>
Parameters:
eval - the evaluator to be used for selecting targets.
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

ifNotNull

public Level1SetElementsSelectedOperator<I,T> ifNotNull()
Description copied from interface: SelectableElementsOperator

Selects only those targets which are not null. After this method, all the subsequently executed operations will only be executed on the target objects selected here, until an "endIf()" method is called.

Specified by:
ifNotNull in interface ILevel1SetElementsOperator<I,T>
Specified by:
ifNotNull in interface SelectableElementsOperator<T>
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

ifNull

public Level1SetElementsSelectedOperator<I,T> ifNull()
Description copied from interface: SelectableElementsOperator

Selects only those targets which are null. After this method, all the subsequently executed operations will only be executed on the target objects selected here, until an "endIf()" method is called.

Specified by:
ifNull in interface ILevel1SetElementsOperator<I,T>
Specified by:
ifNull in interface SelectableElementsOperator<T>
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

exec

public <X> Level1SetElementsOperator<I,X> exec(IFunction<? super T,X> function)
Description copied from interface: ExecutableElementsOperator

Executes the specified function on the target object, creating a new array containing the result of the execution.

This function must be able to take as input an object of type T (the current operator's target type) and will return an object of type X, which will be from then on the new operator's target type.

Specified by:
exec in interface ILevel1SetElementsOperator<I,T>
Specified by:
exec in interface ExecutableElementsOperator<T>
Type Parameters:
X - the type of the result, and new type for the operator
Parameters:
function - the function to be executed
Returns:
an operator on the results of function execution

replaceWith

public Level1SetElementsOperator<I,T> replaceWith(T replacement)
Description copied from interface: ReplaceableOperator

Replaces the current target object with the specified replacement.

Specified by:
replaceWith in interface ILevel1SetElementsOperator<I,T>
Specified by:
replaceWith in interface ReplaceableOperator<T>
Parameters:
replacement - the object which will replace the current target object.
Returns:
an operator containing the replacement object as target.

replaceIfNullWith

public Level1SetElementsOperator<I,T> replaceIfNullWith(T replacement)
Description copied from interface: ReplaceableIfNullOperator

Replaces the current target object with the specified replacement if the current target is null.

Specified by:
replaceIfNullWith in interface ILevel1SetElementsOperator<I,T>
Specified by:
replaceIfNullWith in interface ReplaceableIfNullOperator<T>
Parameters:
replacement - the object which will replace the current target object if target is null.
Returns:
an operator containing the original target object if it was not null, or the new one if null.

execIfFalse

public Level1SetElementsOperator<I,T> execIfFalse(IFunction<? super T,Boolean> eval,
                                                  IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfFalse in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfFalse in interface ExecutableElementsOperator<T>
Parameters:
eval - the evaluation function used to select elements
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfFalse

public <X> Level1SetElementsOperator<I,X> execIfFalse(IFunction<? super T,Boolean> eval,
                                                      IFunction<? super T,X> function,
                                                      IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfFalse in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfFalse in interface ExecutableElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
eval - the evaluation function used to select elements
function - the function to be executed on the selected elements
elseFunction - the function to be executed on the non-selected elements
Returns:
an operator on the results of function execution

execIfIndex

public Level1SetElementsOperator<I,T> execIfIndex(int[] indexes,
                                                  IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfIndex in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfIndex in interface ExecutableElementsOperator<T>
Parameters:
indexes - the iteration indexes that will be selected
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfIndex

public <X> Level1SetElementsOperator<I,X> execIfIndex(int[] indexes,
                                                      IFunction<? super T,X> function,
                                                      IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfIndex in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfIndex in interface ExecutableElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
indexes - the iteration indexes that will be selected
function - the function to be executed on the selected elements
elseFunction - the function to be executed on the non-selected elements
Returns:
an operator on the results of function execution

execIfIndexNot

public Level1SetElementsOperator<I,T> execIfIndexNot(int[] indexes,
                                                     IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfIndexNot in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfIndexNot in interface ExecutableElementsOperator<T>
Parameters:
indexes - the iteration indexes that will not be selected
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfIndexNot

public <X> Level1SetElementsOperator<I,X> execIfIndexNot(int[] indexes,
                                                         IFunction<? super T,X> function,
                                                         IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfIndexNot in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfIndexNot in interface ExecutableElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
indexes - the iteration indexes that will not be selected
function - the function to be executed on the selected elements
elseFunction - the function to be executed on the non-selected elements
Returns:
an operator on the results of function execution

execIfNotNull

public Level1SetElementsOperator<I,T> execIfNotNull(IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfNotNull in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfNotNull in interface ExecutableElementsOperator<T>
Parameters:
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfNotNull

public <X> Level1SetElementsOperator<I,X> execIfNotNull(IFunction<? super T,X> function,
                                                        IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfNotNull in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfNotNull in interface ExecutableElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
function - the function to be executed on the selected elements
elseFunction - the function to be executed on the non-selected elements
Returns:
an operator on the results of function execution

execIfNull

public Level1SetElementsOperator<I,T> execIfNull(IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfNull in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfNull in interface ExecutableElementsOperator<T>
Parameters:
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfNull

public <X> Level1SetElementsOperator<I,X> execIfNull(IFunction<? super T,X> function,
                                                     IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfNull in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfNull in interface ExecutableElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
function - the function to be executed on the selected elements
elseFunction - the function to be executed on the non-selected elements
Returns:
an operator on the results of function execution

execIfTrue

public Level1SetElementsOperator<I,T> execIfTrue(IFunction<? super T,Boolean> eval,
                                                 IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfTrue in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfTrue in interface ExecutableElementsOperator<T>
Parameters:
eval - the evaluation function used to select elements
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfTrue

public <X> Level1SetElementsOperator<I,X> execIfTrue(IFunction<? super T,Boolean> eval,
                                                     IFunction<? super T,X> function,
                                                     IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableElementsOperator

Executes a function in a way equivalent to ExecutableElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.

Specified by:
execIfTrue in interface ILevel1SetElementsOperator<I,T>
Specified by:
execIfTrue in interface ExecutableElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
eval - the evaluation function used to select elements
function - the function to be executed on the selected elements
elseFunction - the function to be executed on the non-selected elements
Returns:
an operator on the results of function execution


Copyright © 2012 The OP4J team. All Rights Reserved.