org.op4j.operators.intf.set
Interface ILevel1SetElementsOperator<I,T>

All Superinterfaces:
CastableToTypeOperator<T>, ExecutableElementsOperator<T>, NavigatingCollectionOperator<T>, Operator, ReplaceableIfNullOperator<T>, ReplaceableOperator<T>, SelectableElementsOperator<T>, UniqOperator<Set<T>>
All Known Implementing Classes:
Level1SetElementsOperator, Level1SetElementsOperator

public interface ILevel1SetElementsOperator<I,T>
extends UniqOperator<Set<T>>, NavigatingCollectionOperator<T>, ExecutableElementsOperator<T>, SelectableElementsOperator<T>, ReplaceableOperator<T>, ReplaceableIfNullOperator<T>, CastableToTypeOperator<T>

Since:
1.0
Author:
Daniel Fernández

Method Summary
<X> ILevel1SetElementsOperator<I,X>
castTo(org.javaruntype.type.Type<X> type)
           Casts the operator's target as the specified type.
 ILevel0SetOperator<I,T> endFor()
           Ends the current iteration.
<X> ILevel1SetElementsOperator<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.
 ILevel1SetElementsOperator<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> ILevel1SetElementsOperator<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.
 ILevel1SetElementsOperator<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> ILevel1SetElementsOperator<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.
 ILevel1SetElementsOperator<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> ILevel1SetElementsOperator<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.
 ILevel1SetElementsOperator<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> ILevel1SetElementsOperator<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.
 ILevel1SetElementsOperator<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> ILevel1SetElementsOperator<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.
 ILevel1SetElementsOperator<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> ILevel1SetElementsOperator<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.
 ILevel1SetElementsSelectedOperator<I,T> ifFalse(IFunction<? super T,Boolean> eval)
           Selects only those targets for which the specified evaluator returns false.
 ILevel1SetElementsSelectedOperator<I,T> ifIndex(int... indexes)
           Selects only those targets which index in the current level of iteration matches any of the specified indexes.
 ILevel1SetElementsSelectedOperator<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.
 ILevel1SetElementsSelectedOperator<I,T> ifNotNull()
           Selects only those targets which are not null.
 ILevel1SetElementsSelectedOperator<I,T> ifNull()
           Selects only those targets which are null.
 ILevel1SetElementsSelectedOperator<I,T> ifTrue(IFunction<? super T,Boolean> eval)
           Selects only those targets for which the specified evaluator returns true.
 ILevel1SetElementsOperator<I,T> replaceIfNullWith(T replacement)
           Replaces the current target object with the specified replacement if the current target is null.
 ILevel1SetElementsOperator<I,T> replaceWith(T replacement)
           Replaces the current target object with the specified replacement.
 

Method Detail

ifIndex

ILevel1SetElementsSelectedOperator<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 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

ILevel1SetElementsSelectedOperator<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 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

ILevel1SetElementsSelectedOperator<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 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.

ifNull

ILevel1SetElementsSelectedOperator<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 SelectableElementsOperator<T>
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

ifIndexNot

ILevel1SetElementsSelectedOperator<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 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.

ifNotNull

ILevel1SetElementsSelectedOperator<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 SelectableElementsOperator<T>
Returns:
an operator which will execute all subsequent operations only on the selected target objects.

endFor

ILevel0SetOperator<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 NavigatingCollectionOperator<T>
Returns:
an operator which will execute all operations on the iterated collection as a whole.

replaceWith

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

Replaces the current target object with the specified replacement.

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

ILevel1SetElementsOperator<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 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.

exec

<X> ILevel1SetElementsOperator<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 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

execIfIndex

ILevel1SetElementsOperator<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 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

execIfIndexNot

ILevel1SetElementsOperator<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 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

execIfNotNull

ILevel1SetElementsOperator<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 ExecutableElementsOperator<T>
Parameters:
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfNull

ILevel1SetElementsOperator<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 ExecutableElementsOperator<T>
Parameters:
function - the function to be executed on the selected elements
Returns:
an operator on the results of function execution

execIfTrue

ILevel1SetElementsOperator<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 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

ILevel1SetElementsOperator<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 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

execIfIndex

<X> ILevel1SetElementsOperator<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 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

<X> ILevel1SetElementsOperator<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 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

<X> ILevel1SetElementsOperator<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 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

<X> ILevel1SetElementsOperator<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 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

<X> ILevel1SetElementsOperator<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 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

execIfFalse

<X> ILevel1SetElementsOperator<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 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

castTo

<X> ILevel1SetElementsOperator<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 CastableToTypeOperator<T>
Type Parameters:
X - the type of the targets
Parameters:
type - the type of targets
Returns:
the resulting casted operator


Copyright © 2012 The OP4J team. All Rights Reserved.