org.op4j.operators.intf.array
Interface ILevel1ArrayElementsOperator<I,T>

All Superinterfaces:
CastableToTypeOperator<T>, ExecutableArrayElementsOperator<T>, NavigatingCollectionOperator<T>, Operator, ReplaceableIfNullOperator<T>, ReplaceableOperator<T>, SelectableElementsOperator<T>, UniqOperator<T[]>
All Known Implementing Classes:
Level1ArrayElementsOperator, Level1ArrayElementsOperator

public interface ILevel1ArrayElementsOperator<I,T>
extends UniqOperator<T[]>, NavigatingCollectionOperator<T>, SelectableElementsOperator<T>, ReplaceableOperator<T>, ReplaceableIfNullOperator<T>, ExecutableArrayElementsOperator<T>, CastableToTypeOperator<T>

Since:
1.0
Author:
Daniel Fernández

Method Summary
<X> ILevel1ArrayElementsOperator<I,X>
castTo(org.javaruntype.type.Type<X> type)
           Casts the operator's target as the specified type.
 ILevel0ArrayOperator<I,T> endFor()
           Ends the current iteration.
 ILevel1ArrayElementsOperator<I,T> exec(IFunction<? super T,? extends T> function)
           Executes the specified function on the target object, creating a new operator containing the result of the execution as a new array.
<X> ILevel1ArrayElementsOperator<I,X>
exec(org.javaruntype.type.Type<X> type, IFunction<? super T,X> function)
           Executes the specified function on the target object, creating a new array containing the result of the execution.
 ILevel1ArrayElementsOperator<I,T> execIfFalse(IFunction<? super T,Boolean> eval, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> ILevel1ArrayElementsOperator<I,X>
execIfFalse(org.javaruntype.type.Type<X> type, IFunction<? super T,Boolean> eval, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 ILevel1ArrayElementsOperator<I,T> execIfIndex(int[] indexes, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> ILevel1ArrayElementsOperator<I,X>
execIfIndex(org.javaruntype.type.Type<X> type, int[] indexes, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 ILevel1ArrayElementsOperator<I,T> execIfIndexNot(int[] indexes, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> ILevel1ArrayElementsOperator<I,X>
execIfIndexNot(org.javaruntype.type.Type<X> type, int[] indexes, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 ILevel1ArrayElementsOperator<I,T> execIfNotNull(IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> ILevel1ArrayElementsOperator<I,X>
execIfNotNull(org.javaruntype.type.Type<X> type, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 ILevel1ArrayElementsOperator<I,T> execIfNull(IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> ILevel1ArrayElementsOperator<I,X>
execIfNull(org.javaruntype.type.Type<X> type, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 ILevel1ArrayElementsOperator<I,T> execIfTrue(IFunction<? super T,Boolean> eval, IFunction<? super T,? extends T> function)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
<X> ILevel1ArrayElementsOperator<I,X>
execIfTrue(org.javaruntype.type.Type<X> type, IFunction<? super T,Boolean> eval, IFunction<? super T,X> function, IFunction<? super T,X> elseFunction)
           Executes a function in a way equivalent to ExecutableArrayElementsOperator.exec(IFunction) but only on selected elements, leaving all other elements untouched.
 ILevel1ArrayElementsSelectedOperator<I,T> ifFalse(IFunction<? super T,Boolean> eval)
           Selects only those targets for which the specified evaluator returns false.
 ILevel1ArrayElementsSelectedOperator<I,T> ifIndex(int... indexes)
           Selects only those targets which index in the current level of iteration matches any of the specified indexes.
 ILevel1ArrayElementsSelectedOperator<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.
 ILevel1ArrayElementsSelectedOperator<I,T> ifNotNull()
           Selects only those targets which are not null.
 ILevel1ArrayElementsSelectedOperator<I,T> ifNull()
           Selects only those targets which are null.
 ILevel1ArrayElementsSelectedOperator<I,T> ifTrue(IFunction<? super T,Boolean> eval)
           Selects only those targets for which the specified evaluator returns true.
 ILevel1ArrayElementsOperator<I,T> replaceIfNullWith(T replacement)
           Replaces the current target object with the specified replacement if the current target is null.
 ILevel1ArrayElementsOperator<I,T> replaceWith(T replacement)
           Replaces the current target object with the specified replacement.
 

Method Detail

ifIndex

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

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

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

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

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

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

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

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

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

ILevel1ArrayElementsOperator<I,T> exec(IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableArrayElementsOperator

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

This function must be able to take as input an object of type T (the current operator's target type) and will return another object of type T.

Specified by:
exec in interface ExecutableArrayElementsOperator<T>
Parameters:
function - the function to be executed
Returns:
an operator on the results of function execution

exec

<X> ILevel1ArrayElementsOperator<I,X> exec(org.javaruntype.type.Type<X> type,
                                           IFunction<? super T,X> function)
Description copied from interface: ExecutableArrayElementsOperator

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 ExecutableArrayElementsOperator<T>
Type Parameters:
X - the type of the result, and new type for the operator
Parameters:
type - the type returned by the function
function - the function to be executed
Returns:
an operator on the results of function execution

execIfIndex

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

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

Specified by:
execIfIndex in interface ExecutableArrayElementsOperator<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

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

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

Specified by:
execIfIndexNot in interface ExecutableArrayElementsOperator<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

ILevel1ArrayElementsOperator<I,T> execIfNotNull(IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableArrayElementsOperator

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

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

execIfNull

ILevel1ArrayElementsOperator<I,T> execIfNull(IFunction<? super T,? extends T> function)
Description copied from interface: ExecutableArrayElementsOperator

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

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

execIfTrue

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

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

Specified by:
execIfTrue in interface ExecutableArrayElementsOperator<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

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

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

Specified by:
execIfFalse in interface ExecutableArrayElementsOperator<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> ILevel1ArrayElementsOperator<I,X> execIfIndex(org.javaruntype.type.Type<X> type,
                                                  int[] indexes,
                                                  IFunction<? super T,X> function,
                                                  IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableArrayElementsOperator

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

Specified by:
execIfIndex in interface ExecutableArrayElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
type - the new type returned by the functions
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> ILevel1ArrayElementsOperator<I,X> execIfIndexNot(org.javaruntype.type.Type<X> type,
                                                     int[] indexes,
                                                     IFunction<? super T,X> function,
                                                     IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableArrayElementsOperator

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

Specified by:
execIfIndexNot in interface ExecutableArrayElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
type - the new type returned by the functions
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> ILevel1ArrayElementsOperator<I,X> execIfNotNull(org.javaruntype.type.Type<X> type,
                                                    IFunction<? super T,X> function,
                                                    IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableArrayElementsOperator

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

Specified by:
execIfNotNull in interface ExecutableArrayElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
type - the new type returned by the functions
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> ILevel1ArrayElementsOperator<I,X> execIfNull(org.javaruntype.type.Type<X> type,
                                                 IFunction<? super T,X> function,
                                                 IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableArrayElementsOperator

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

Specified by:
execIfNull in interface ExecutableArrayElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
type - the new type returned by the functions
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> ILevel1ArrayElementsOperator<I,X> execIfTrue(org.javaruntype.type.Type<X> type,
                                                 IFunction<? super T,Boolean> eval,
                                                 IFunction<? super T,X> function,
                                                 IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableArrayElementsOperator

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

Specified by:
execIfTrue in interface ExecutableArrayElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
type - the new type returned by the functions
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> ILevel1ArrayElementsOperator<I,X> execIfFalse(org.javaruntype.type.Type<X> type,
                                                  IFunction<? super T,Boolean> eval,
                                                  IFunction<? super T,X> function,
                                                  IFunction<? super T,X> elseFunction)
Description copied from interface: ExecutableArrayElementsOperator

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

Specified by:
execIfFalse in interface ExecutableArrayElementsOperator<T>
Type Parameters:
X - the new type returned by the functions
Parameters:
type - the new type returned by the functions
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> ILevel1ArrayElementsOperator<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.