Class ResultSet<O>
- java.lang.Object
-
- org.hcjf.layers.query.ResultSet<O>
-
- All Implemented Interfaces:
java.lang.Iterable<O>,java.util.Collection<O>
public class ResultSet<O> extends java.lang.Object implements java.util.Collection<O>Collect all the information about query execution.
-
-
Constructor Summary
Constructors Constructor Description ResultSet(java.lang.Long totalTime, java.lang.Long timeCollectingData, java.lang.Long timeEvaluatingConditions, java.lang.Long averageTimeEvaluatingConditionsByRow, java.lang.Long timeFormattingData, java.lang.Long averageTimeFormattingDataByRow, java.lang.Long timeAggregatingData, java.util.Collection<java.lang.String> presentFields, java.util.Collection<O> instance)
-
Method Summary
Modifier and Type Method Description booleanadd(O o)Ensures that this collection contains the specified element (optional operation).booleanaddAll(java.util.Collection<? extends O> c)Adds all of the elements in the specified collection to this collection (optional operation).voidclear()Removes all of the elements from this collection (optional operation).booleancontains(java.lang.Object o)Returnstrueif this collection contains the specified element.booleancontainsAll(java.util.Collection<?> c)Returnstrueif this collection contains all of the elements in the specified collection.booleanequals(java.lang.Object o)Compares the specified object with this collection for equality.voidforEach(java.util.function.Consumer<? super O> action)Performs the given action for each element of theIterableuntil all elements have been processed or the action throws an exception.java.lang.LonggetAverageTimeEvaluatingConditionsByRow()Returns the average time that the execution take to evaluate each row.java.lang.LonggetAverageTimeFormattingDataByRow()Returns the average time that the execution takes to format each row.java.util.Collection<java.lang.String>getPresentFields()Returns the set of fields presents into the result set.java.lang.LonggetTimeAggregatingData()Returns the time that the execution takes to evaluate the set of aggregate functionsjava.lang.LonggetTimeCollectingData()Returns the time that the execution takes to collect the data of the different data sources.java.lang.LonggetTimeCompilingQuery()Time to compile the query.java.lang.LonggetTimeEvaluatingConditions()Returns the time that the execution takes to evaluate the conditions.java.lang.LonggetTimeFormattingData()Returns the time that the executions takes to format the data.java.lang.LonggetTotalTime()Returns the total time of the query execution.inthashCode()Returns the hash code value for this collection.booleanisEmpty()Returnstrueif this collection contains no elements.java.util.Iterator<O>iterator()Returns an iterator over the elements in this collection.java.util.stream.Stream<O>parallelStream()Returns a possibly parallelStreamwith this collection as its source.booleanremove(java.lang.Object o)Removes a single instance of the specified element from this collection, if it is present (optional operation).booleanremoveAll(java.util.Collection<?> c)Removes all of this collection's elements that are also contained in the specified collection (optional operation).booleanremoveIf(java.util.function.Predicate<? super O> filter)Removes all of the elements of this collection that satisfy the given predicate.booleanretainAll(java.util.Collection<?> c)Retains only the elements in this collection that are contained in the specified collection (optional operation).voidsetTimeCompilingQuery(java.lang.Long timeCompilingQuery)Set the time to take the engine to compile a query.intsize()Returns the number of elements in this collection.java.util.Spliterator<O>spliterator()Creates aSpliteratorover the elements in this collection.java.util.stream.Stream<O>stream()Returns a sequentialStreamwith this collection as its source.java.lang.Object[]toArray()Returns an array containing all of the elements in this collection.<T> T[]toArray(java.util.function.IntFunction<T[]> generator)Returns an array containing all of the elements in this collection, using the providedgeneratorfunction to allocate the returned array.<T> T[]toArray(T[] a)Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array.
-
-
-
Constructor Detail
-
ResultSet
public ResultSet(java.lang.Long totalTime, java.lang.Long timeCollectingData, java.lang.Long timeEvaluatingConditions, java.lang.Long averageTimeEvaluatingConditionsByRow, java.lang.Long timeFormattingData, java.lang.Long averageTimeFormattingDataByRow, java.lang.Long timeAggregatingData, java.util.Collection<java.lang.String> presentFields, java.util.Collection<O> instance)
-
-
Method Detail
-
getTotalTime
public java.lang.Long getTotalTime()
Returns the total time of the query execution.- Returns:
- Total time of the query execution.
-
getTimeCompilingQuery
public java.lang.Long getTimeCompilingQuery()
Time to compile the query.- Returns:
- Time compiling the query.
-
setTimeCompilingQuery
public void setTimeCompilingQuery(java.lang.Long timeCompilingQuery)
Set the time to take the engine to compile a query.- Parameters:
timeCompilingQuery- Time compiling query.
-
getTimeCollectingData
public java.lang.Long getTimeCollectingData()
Returns the time that the execution takes to collect the data of the different data sources.- Returns:
- Time collection data.
-
getTimeEvaluatingConditions
public java.lang.Long getTimeEvaluatingConditions()
Returns the time that the execution takes to evaluate the conditions.- Returns:
- Time evaluating conditions.
-
getAverageTimeEvaluatingConditionsByRow
public java.lang.Long getAverageTimeEvaluatingConditionsByRow()
Returns the average time that the execution take to evaluate each row.- Returns:
- Average time evaluating conditions by row.
-
getTimeFormattingData
public java.lang.Long getTimeFormattingData()
Returns the time that the executions takes to format the data.- Returns:
- Time formatting data.
-
getTimeAggregatingData
public java.lang.Long getTimeAggregatingData()
Returns the time that the execution takes to evaluate the set of aggregate functions- Returns:
- Time aggregating data.
-
getAverageTimeFormattingDataByRow
public java.lang.Long getAverageTimeFormattingDataByRow()
Returns the average time that the execution takes to format each row.- Returns:
- Average time formatting row.
-
getPresentFields
public java.util.Collection<java.lang.String> getPresentFields()
Returns the set of fields presents into the result set.- Returns:
- Fields present set.
-
size
public int size()
Returns the number of elements in this collection. If this collection contains more thanInteger.MAX_VALUEelements, returnsInteger.MAX_VALUE.- Specified by:
sizein interfacejava.util.Collection<O>- Returns:
- the number of elements in this collection
-
isEmpty
public boolean isEmpty()
Returnstrueif this collection contains no elements.- Specified by:
isEmptyin interfacejava.util.Collection<O>- Returns:
trueif this collection contains no elements
-
contains
public boolean contains(java.lang.Object o)
Returnstrueif this collection contains the specified element. More formally, returnstrueif and only if this collection contains at least one elementesuch thatObjects.equals(o, e).- Specified by:
containsin interfacejava.util.Collection<O>- Parameters:
o- element whose presence in this collection is to be tested- Returns:
trueif this collection contains the specified element- Throws:
java.lang.ClassCastException- if the type of the specified element is incompatible with this collection (optional)java.lang.NullPointerException- if the specified element is null and this collection does not permit null elements (optional)
-
iterator
public java.util.Iterator<O> iterator()
Returns an iterator over the elements in this collection. There are no guarantees concerning the order in which the elements are returned (unless this collection is an instance of some class that provides a guarantee).
-
toArray
public java.lang.Object[] toArray()
Returns an array containing all of the elements in this collection. If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order. The returned array's runtime component type isObject.The returned array will be "safe" in that no references to it are maintained by this collection. (In other words, this method must allocate a new array even if this collection is backed by an array). The caller is thus free to modify the returned array.
- Specified by:
toArrayin interfacejava.util.Collection<O>- Returns:
- an array, whose runtime component
type is
Object, containing all of the elements in this collection
-
toArray
public <T> T[] toArray(T[] a)
Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array. If the collection fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this collection.If this collection fits in the specified array with room to spare (i.e., the array has more elements than this collection), the element in the array immediately following the end of the collection is set to
null. (This is useful in determining the length of this collection only if the caller knows that this collection does not contain anynullelements.)If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
- Specified by:
toArrayin interfacejava.util.Collection<O>- Parameters:
a- the array into which the elements of this collection are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.- Returns:
- an array containing all of the elements in this collection
- Throws:
java.lang.ArrayStoreException- if the runtime type of any element in this collection is not assignable to the runtime component type of the specified arrayjava.lang.NullPointerException- if the specified array is null
-
toArray
public <T> T[] toArray(java.util.function.IntFunction<T[]> generator)
Returns an array containing all of the elements in this collection, using the providedgeneratorfunction to allocate the returned array.If this collection makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
- Specified by:
toArrayin interfacejava.util.Collection<O>- Parameters:
generator- a function which produces a new array of the desired type and the provided length- Returns:
- an array containing all of the elements in this collection
- Throws:
java.lang.ArrayStoreException- if the runtime type of any element in this collection is not assignable to the runtime component type of the generated arrayjava.lang.NullPointerException- if the generator function is null- Since:
- 11
-
add
public boolean add(O o)
Ensures that this collection contains the specified element (optional operation). Returnstrueif this collection changed as a result of the call. (Returnsfalseif this collection does not permit duplicates and already contains the specified element.)Collections that support this operation may place limitations on what elements may be added to this collection. In particular, some collections will refuse to add
nullelements, and others will impose restrictions on the type of elements that may be added. Collection classes should clearly specify in their documentation any restrictions on what elements may be added.If a collection refuses to add a particular element for any reason other than that it already contains the element, it must throw an exception (rather than returning
false). This preserves the invariant that a collection always contains the specified element after this call returns.- Specified by:
addin interfacejava.util.Collection<O>- Parameters:
o- element whose presence in this collection is to be ensured- Returns:
trueif this collection changed as a result of the call- Throws:
java.lang.UnsupportedOperationException- if theaddoperation is not supported by this collectionjava.lang.ClassCastException- if the class of the specified element prevents it from being added to this collectionjava.lang.NullPointerException- if the specified element is null and this collection does not permit null elementsjava.lang.IllegalArgumentException- if some property of the element prevents it from being added to this collectionjava.lang.IllegalStateException- if the element cannot be added at this time due to insertion restrictions
-
remove
public boolean remove(java.lang.Object o)
Removes a single instance of the specified element from this collection, if it is present (optional operation). More formally, removes an elementesuch thatObjects.equals(o, e), if this collection contains one or more such elements. Returnstrueif this collection contained the specified element (or equivalently, if this collection changed as a result of the call).- Specified by:
removein interfacejava.util.Collection<O>- Parameters:
o- element to be removed from this collection, if present- Returns:
trueif an element was removed as a result of this call- Throws:
java.lang.ClassCastException- if the type of the specified element is incompatible with this collection (optional)java.lang.NullPointerException- if the specified element is null and this collection does not permit null elements (optional)java.lang.UnsupportedOperationException- if theremoveoperation is not supported by this collection
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
Returnstrueif this collection contains all of the elements in the specified collection.- Specified by:
containsAllin interfacejava.util.Collection<O>- Parameters:
c- collection to be checked for containment in this collection- Returns:
trueif this collection contains all of the elements in the specified collection- Throws:
java.lang.ClassCastException- if the types of one or more elements in the specified collection are incompatible with this collection (optional)java.lang.NullPointerException- if the specified collection contains one or more null elements and this collection does not permit null elements (optional), or if the specified collection is null.- See Also:
contains(Object)
-
addAll
public boolean addAll(java.util.Collection<? extends O> c)
Adds all of the elements in the specified collection to this collection (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified collection is this collection, and this collection is nonempty.)- Specified by:
addAllin interfacejava.util.Collection<O>- Parameters:
c- collection containing elements to be added to this collection- Returns:
trueif this collection changed as a result of the call- Throws:
java.lang.UnsupportedOperationException- if theaddAlloperation is not supported by this collectionjava.lang.ClassCastException- if the class of an element of the specified collection prevents it from being added to this collectionjava.lang.NullPointerException- if the specified collection contains a null element and this collection does not permit null elements, or if the specified collection is nulljava.lang.IllegalArgumentException- if some property of an element of the specified collection prevents it from being added to this collectionjava.lang.IllegalStateException- if not all the elements can be added at this time due to insertion restrictions- See Also:
add(Object)
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
Removes all of this collection's elements that are also contained in the specified collection (optional operation). After this call returns, this collection will contain no elements in common with the specified collection.- Specified by:
removeAllin interfacejava.util.Collection<O>- Parameters:
c- collection containing elements to be removed from this collection- Returns:
trueif this collection changed as a result of the call- Throws:
java.lang.UnsupportedOperationException- if theremoveAllmethod is not supported by this collectionjava.lang.ClassCastException- if the types of one or more elements in this collection are incompatible with the specified collection (optional)java.lang.NullPointerException- if this collection contains one or more null elements and the specified collection does not support null elements (optional), or if the specified collection is null- See Also:
remove(Object),contains(Object)
-
removeIf
public boolean removeIf(java.util.function.Predicate<? super O> filter)
Removes all of the elements of this collection that satisfy the given predicate. Errors or runtime exceptions thrown during iteration or by the predicate are relayed to the caller.- Specified by:
removeIfin interfacejava.util.Collection<O>- Parameters:
filter- a predicate which returnstruefor elements to be removed- Returns:
trueif any elements were removed- Throws:
java.lang.NullPointerException- if the specified filter is nulljava.lang.UnsupportedOperationException- if elements cannot be removed from this collection. Implementations may throw this exception if a matching element cannot be removed or if, in general, removal is not supported.- Since:
- 1.8
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
Retains only the elements in this collection that are contained in the specified collection (optional operation). In other words, removes from this collection all of its elements that are not contained in the specified collection.- Specified by:
retainAllin interfacejava.util.Collection<O>- Parameters:
c- collection containing elements to be retained in this collection- Returns:
trueif this collection changed as a result of the call- Throws:
java.lang.UnsupportedOperationException- if theretainAlloperation is not supported by this collectionjava.lang.ClassCastException- if the types of one or more elements in this collection are incompatible with the specified collection (optional)java.lang.NullPointerException- if this collection contains one or more null elements and the specified collection does not permit null elements (optional), or if the specified collection is null- See Also:
remove(Object),contains(Object)
-
clear
public void clear()
Removes all of the elements from this collection (optional operation). The collection will be empty after this method returns.- Specified by:
clearin interfacejava.util.Collection<O>- Throws:
java.lang.UnsupportedOperationException- if theclearoperation is not supported by this collection
-
equals
public boolean equals(java.lang.Object o)
Compares the specified object with this collection for equality.While the
Collectioninterface adds no stipulations to the general contract for theObject.equals, programmers who implement theCollectioninterface "directly" (in other words, create a class that is aCollectionbut is not aSetor aList) must exercise care if they choose to override theObject.equals. It is not necessary to do so, and the simplest course of action is to rely onObject's implementation, but the implementor may wish to implement a "value comparison" in place of the default "reference comparison." (TheListandSetinterfaces mandate such value comparisons.)The general contract for the
Object.equalsmethod states that equals must be symmetric (in other words,a.equals(b)if and only ifb.equals(a)). The contracts forList.equalsandSet.equalsstate that lists are only equal to other lists, and sets to other sets. Thus, a customequalsmethod for a collection class that implements neither theListnorSetinterface must returnfalsewhen this collection is compared to any list or set. (By the same logic, it is not possible to write a class that correctly implements both theSetandListinterfaces.)- Specified by:
equalsin interfacejava.util.Collection<O>- Overrides:
equalsin classjava.lang.Object- Parameters:
o- object to be compared for equality with this collection- Returns:
trueif the specified object is equal to this collection- See Also:
Object.equals(Object),Set#equals(Object),List#equals(Object)
-
hashCode
public int hashCode()
Returns the hash code value for this collection. While theCollectioninterface adds no stipulations to the general contract for theObject.hashCodemethod, programmers should take note that any class that overrides theObject.equalsmethod must also override theObject.hashCodemethod in order to satisfy the general contract for theObject.hashCodemethod. In particular,c1.equals(c2)implies thatc1.hashCode()==c2.hashCode().- Specified by:
hashCodein interfacejava.util.Collection<O>- Overrides:
hashCodein classjava.lang.Object- Returns:
- the hash code value for this collection
- See Also:
Object.hashCode(),Object.equals(Object)
-
spliterator
public java.util.Spliterator<O> spliterator()
Creates aSpliteratorover the elements in this collection. Implementations should document characteristic values reported by the spliterator. Such characteristic values are not required to be reported if the spliterator reportsSpliterator.SIZEDand this collection contains no elements.The default implementation should be overridden by subclasses that can return a more efficient spliterator. In order to preserve expected laziness behavior for the
stream()andparallelStream()methods, spliterators should either have the characteristic ofIMMUTABLEorCONCURRENT, or be late-binding. If none of these is practical, the overriding class should describe the spliterator's documented policy of binding and structural interference, and should override thestream()andparallelStream()methods to create streams using aSupplierof the spliterator, as in:Stream<E> s = StreamSupport.stream(() -> spliterator(), spliteratorCharacteristics)These requirements ensure that streams produced by the
stream()andparallelStream()methods will reflect the contents of the collection as of initiation of the terminal stream operation.
-
stream
public java.util.stream.Stream<O> stream()
Returns a sequentialStreamwith this collection as its source.This method should be overridden when the
spliterator()method cannot return a spliterator that isIMMUTABLE,CONCURRENT, or late-binding. (Seespliterator()for details.)- Specified by:
streamin interfacejava.util.Collection<O>- Returns:
- a sequential
Streamover the elements in this collection - Since:
- 1.8
-
parallelStream
public java.util.stream.Stream<O> parallelStream()
Returns a possibly parallelStreamwith this collection as its source. It is allowable for this method to return a sequential stream.This method should be overridden when the
spliterator()method cannot return a spliterator that isIMMUTABLE,CONCURRENT, or late-binding. (Seespliterator()for details.)- Specified by:
parallelStreamin interfacejava.util.Collection<O>- Returns:
- a possibly parallel
Streamover the elements in this collection - Since:
- 1.8
-
forEach
public void forEach(java.util.function.Consumer<? super O> action)
Performs the given action for each element of theIterableuntil all elements have been processed or the action throws an exception. Actions are performed in the order of iteration, if that order is specified. Exceptions thrown by the action are relayed to the caller.The behavior of this method is unspecified if the action performs side-effects that modify the underlying source of elements, unless an overriding class has specified a concurrent modification policy.
- Specified by:
forEachin interfacejava.lang.Iterable<O>- Parameters:
action- The action to be performed for each element- Throws:
java.lang.NullPointerException- if the specified action is null- Since:
- 1.8
-
-