TransformableSingleColumn
Transformable SingleColumn
This type of SingleColumn can be transformed before being resolved.
This is especially useful for calls like singleInternal { }.atAnyDepthImpl(), where atAnyDepthImpl modifies the SingleColumn that singleInternal { } operates on to include ALL columns, including those inside column groups, before it's evaluated.
See also
Functions
Returns a new ColumnSet containing all columns after the first column that matches the given predicate.
Returns a new ColumnSet containing all columns before the first column that satisfies the given predicate.
Returns a new ColumnSet that contains all columns from inside the receiver column group except those specified in the "other" ColumnsResolver.
If this is a SingleColumn containing a single ColumnGroup (like SingleColumn<AnyRow> or ColumnsSelectionDsl), it returns a (transformable) ColumnSet containing the children of this ColumnGroup, else it simply returns a (transformable) ColumnSet from this (like when this is a ColumnSet).
Returns a column set containing all columns from the internal column set that satisfy the given predicate.
Returns a ColumnSet containing all columns up to (and including) the first column that satisfies the given predicate.
Creates a ColumnAccessor<DataRow<C>> from this. This is especially useful when you want to use ColumnGroup functions in the ColumnsSelectionDsl but your column type is not recognized as a ColumnGroup. If you're not sure whether a column is recognized as ColumnGroup or not, you can always call asColumnGroup and it will return the same type if it is already a ColumnGroup.
AtAnyDepth implementation for TransformableSingleColumn. This converts a TransformableSingleColumn into a SingleColumn by redirecting SingleColumn.resolveSingle to TransformableSingleColumn.transformResolveSingle with a correctly configured AtAnyDepthTransformer.
Returns all columns inside this ColumnsResolver at any depth if they satisfy the given predicate.
If this ColumnsResolver is a SingleColumn, it returns a new ColumnSet containing the columns inside of this SingleColumn that match the given predicate.
If this ColumnsResolver is a SingleColumn, it returns a new ColumnSet containing the columns inside of this SingleColumn that match the given filter and are the given type.
Returns a ColumnSet containing the column groups that satisfy the given filter.
Returns a TransformableColumnSet containing the columns of given kind(s) that satisfy the given filter.
Checks the validity of this SingleColumn, by adding a check to see it's a ColumnGroup (so, a SingleColumn<*>) and throwing an IllegalArgumentException if it's not.
Checks the validity of this SingleColumn, by adding a check to see it's a FrameColumn (so, a SingleColumn<*>) and throwing an IllegalArgumentException if it's not.
Checks the validity of this SingleColumn, by adding a check to see it's a ValueColumn (so, a SingleColumn<*>) and throwing an IllegalArgumentException if it's not.
Returns a new SingleColumn
Flattens a ColumnsResolver recursively.
Returns a TransformableColumnSet containing the frame columns that satisfy the given filter.
Helper function to perform runtime checks on a SingleColumn.
Resolves this ColumnsResolver as a List<ColumnWithPath<C>>. In many cases this function transforms a parent ColumnsResolver to reach the current ColumnsResolver result.
Simplifies structure by removing columns that are already present in column groups in this.
Converts this ColumnsResolver to a SingleColumn. resolveSingle will return the single column of this if there is only one, else it will throw an exception: In case of an empty ColumnsResolver, a NoSuchElementException will be thrown. In case of more than one column, an IllegalArgumentException will be thrown. If the result is used as a ColumnSet, null will be converted to an empty list.
Converts this ColumnsResolver to a SingleColumn. resolveSingle will return the single column of this if there is only one, else it will return null. If the result used as a ColumnSet, null will be converted to an empty list.
Applies a transformation on this by converting its List<ColumnWithPath<A>] to List<ColumnWithPath<B>] using converter.
Applies a transformation on this SingleColumn by converting its single ColumnWithPath<A> to List<ColumnWithPath<B>] using converter. Since converter allows you to return multiple columns, the result is turned into a ColumnSet<B>.
Applies a transformation on this SingleColumn by converting its single ColumnWithPath<A> to List<ColumnWithPath<B>] using converter but also providing the ColumnResolutionContext to the converter.
Applies a transformation on this by converting its List<ColumnWithPath<A>] to List<ColumnWithPath<B>] using converter, but also providing the ColumnResolutionContext to the converter.
Returns a TransformableColumnSet containing the value columns that satisfy the given filter.