Package Torello.Java.Additional
Class VarListBuilderWithApplyAndSort<ORIGINAL,TRANSFORMED>
- java.lang.Object
-
- Torello.Java.Additional.VarListBuilderWithApplyAndSort<ORIGINAL,TRANSFORMED>
-
- Type Parameters:
ORIGINAL
- This is the original 'type' of the container's contents, before those contents are transformed. In the case ofFileNode
andFileNode.RetTypeChoice
, this shall always be typeFileNode
.
IMPORTANT: TheSort
is performed after theApply
transformation.TRANSFORMED
- This is the 'type' of the contents of the container that is ultimately returned to the user by this'VarList'
selection-choice. Note that the salient point is the original container's content's type is transformed, and that the returned container's content's type will not be the same as the input-type, after the transformation
In the case ofFileNode
andFileNode.RetTypeChoice
, the usage of this builder class is (sort-of) "a cute way of saying"FileNode.toString()
and / orFileNode.getFullPathName()
- depending upon whether the user is requesting one of the'FILENAME'
variants, or one of the'FULLPATH'
variants
NOTE:In the above two mentioned cases, type<TRANSFORMED>
type will bejava.lang.String
. (While the<ORIGINAL>
type is'FileNode'
).
public class VarListBuilderWithApplyAndSort<ORIGINAL,TRANSFORMED> extends java.lang.Object
Implementation of theFileNode
class'RetTypeChoice'
.
Java HTML Library Helper for Torello.Java.FileNode
Currently, the only application for theVarList
User-Specified Variable Return Type Interface is for theFileNode
helper-class'RetTypeChoice'
.
This class could theoretically be used wherever there are many container-variants for the same set of identical-data being returned to a user.
This class will build an suite of implementations of theVarList
interface. This version provides the ability to transform and also sort the list-contents class / type.
Hi-Lited Source-Code:- View Here: Torello/Java/Additional/VarListBuilderWithApplyAndSort.java
- Open New Browser-Tab: Torello/Java/Additional/VarListBuilderWithApplyAndSort.java
-
-
Field Summary
Fields Modifier and Type Field VarList<TRANSFORMED[],ORIGINAL>
ARRAY
VarList<ArrayList<TRANSFORMED>,
ORIGINAL>ARRAYLIST
VarList<Iterator<TRANSFORMED>,
ORIGINAL>ITERATOR
VarList<LinkedList<TRANSFORMED>,
ORIGINAL>LINKEDLIST
VarList<Stack<TRANSFORMED>,
ORIGINAL>STACK
VarList<Stream<TRANSFORMED>,
ORIGINAL>STREAM
VarList<Stream.Builder<TRANSFORMED>,
ORIGINAL>STREAM_BUILDER
VarList<TreeSet<TRANSFORMED>,
ORIGINAL>TREESET
VarList<Vector<TRANSFORMED>,
ORIGINAL>VECTOR
-
Constructor Summary
Constructors Constructor VarListBuilderWithApplyAndSort(Function<ORIGINAL,TRANSFORMED> transformer, Comparator<TRANSFORMED> comparator, Class<TRANSFORMED> outputClass)
-
-
-
Field Detail
-
VECTOR
public final VarList<java.util.Vector<TRANSFORMED>,ORIGINAL> VECTOR
ThisVarList
instance has a'retrieve()'
method that will return aVector
whoseVector
-contents are of parametrized-type'TRANs'
. TheVector
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<Vector<TRANSFORMED>, ORIGINAL> VECTOR;
-
ARRAYLIST
public final VarList<java.util.ArrayList<TRANSFORMED>,ORIGINAL> ARRAYLIST
ThisVarList
instance has a'retrieve()'
method that will return anArrayList
whoseArrayList
-contents are of parametrized-type'TRANSFORMED'
. TheArrayList
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<ArrayList<TRANSFORMED>, ORIGINAL> ARRAYLIST;
-
ITERATOR
public final VarList<java.util.Iterator<TRANSFORMED>,ORIGINAL> ITERATOR
ThisVarList
instance has a'retrieve()'
method that will return anIterator
whoseIterator
-contents are of parametrized-type'TRANSFORMED'
. TheIterator
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<Iterator<TRANSFORMED>, ORIGINAL> ITERATOR;
-
ARRAY
public final VarList<TRANSFORMED[],ORIGINAL> ARRAY
ThisVarList
instance has a'retrieve()'
method that will return anarray
whosearray
-contents are of parametrized-type'TRANSFORMED'
. Thearray
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<TRANSFORMED[], ORIGINAL> ARRAY;
-
STREAM
public final VarList<java.util.stream.Stream<TRANSFORMED>,ORIGINAL> STREAM
ThisVarList
instance has a'retrieve()'
method that will return aStream
whoseStream
-contents are of parametrized-type'TRANSFORMED'
. TheStream
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<Stream<TRANSFORMED>, ORIGINAL> STREAM;
-
STREAM_BUILDER
public final VarList<java.util.stream.Stream.Builder<TRANSFORMED>,ORIGINAL> STREAM_BUILDER
Instances ofStream.Builder
cannot be sorted. Only a builtStream
may be sorted. Therefore this parameter shall always be null.- Code:
- Exact Field Declaration Expression:
public final VarList<Stream.Builder<TRANSFORMED>, ORIGINAL> STREAM_BUILDER = null;
-
LINKEDLIST
public final VarList<java.util.LinkedList<TRANSFORMED>,ORIGINAL> LINKEDLIST
ThisVarList
instance has a'retrieve()'
method that will return aLinkedList
whoseLinkedList
-contents are of parametrized-type'TRANSFORMED'
. TheLinkedList
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<LinkedList<TRANSFORMED>, ORIGINAL> LINKEDLIST;
-
TREESET
public final VarList<java.util.TreeSet<TRANSFORMED>,ORIGINAL> TREESET
ThisVarList
instance has a'retrieve()'
method that will return aTreeSet
whoseTreeSet
-contents are of parametrized-type'TRANSFORMED'
. TheTreeSet
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<TreeSet<TRANSFORMED>, ORIGINAL> TREESET;
-
STACK
public final VarList<java.util.Stack<TRANSFORMED>,ORIGINAL> STACK
ThisVarList
instance has a'retrieve()'
method that will return aStack
whoseStack
-contents are of parametrized-type'TRANSFORMED'
. TheStack
returned will have already been sorted upon return.- Code:
- Exact Field Declaration Expression:
public final VarList<Stack<TRANSFORMED>, ORIGINAL> STACK;
-
-
Constructor Detail
-
VarListBuilderWithApplyAndSort
public VarListBuilderWithApplyAndSort (java.util.function.Function<ORIGINAL,TRANSFORMED> transformer, java.util.Comparator<TRANSFORMED> comparator, java.lang.Class<TRANSFORMED> outputClass)
Builds all 8 of theVarList's
provided by this builder class.- Parameters:
transformer
- Thistransform
is used to convert the contents of the returned list-type. As noticed by its type,'Function<ORIGINAL, TRANSFORMED>'
, the final type of the returnedVarList
will of type'TRANSFORMED'
, although while building this'VarList'
, the elements that shall be inserted will be of type'ORIGINAL'
.
It is the job of the transformer parameter to convert the elements from type'ORIGINAL'
to type'TRANSFORMED'
comparator
- This is used to sort the returned list. Notice that this'comparator'
shall sort list-elements of type'TRANSFORMED'
. The list that is ultimately returned by theseVarList's
will be of type'TRANSFORMED'
.
NOTICE The'comparator'
is of parametrized-type'TRANSFORMED'
. This is because the sort shall occur AFTER the transform.outputClass
- The final list that is built will be of typeclass U
. Because Java generics use "Type Erasure," this class must be obtained here. It is used for array generation or array-construction.
-
-