public class RequestedWildcardColumn extends BaseRequestedColumn
Constructor and Description |
---|
RequestedWildcardColumn(RequestedTuple parent,
String name) |
Modifier and Type | Method and Description |
---|---|
int |
arrayDims()
If
isArray() returns true, reports the number of dimensions
observed in projection. |
boolean |
hasIndex(int index)
Report is a specific index was selected.
|
boolean |
hasIndexes()
Reports if the projection list included (only) specific element
indexes.
|
boolean[] |
indexes()
Return a bitmap of the selected indexes.
|
boolean |
isArray()
Report whether the first qualifier is an array.
|
boolean |
isSimple() |
boolean |
isTuple()
Report whether the projection implies a tuple.
|
boolean |
isWildcard()
Several consumers of this this mechanism process the "raw" projection list
which can contain a combination of wildcard and otehr columns.
|
int |
maxIndex()
Return the maximum index value, if only explicit indexes were given.
|
Qualifier |
qualifier()
The internal qualifier information for the column.
|
String |
toString() |
RequestedTuple |
tuple()
Return projection information for the column as a tuple.
|
buildName, fullName, isRoot, name, nameEquals
public RequestedWildcardColumn(RequestedTuple parent, String name)
public boolean isWildcard()
RequestedColumn
filename, *, dir0
. The requested tuple preserves the wildcard
within the projection list so that, say, the projection mechanism can insert
the actual data columns between the two implicit columns in the example.
If a column is a wildcard, then none of the other methods apply, since this projected column represents any number or actual columns.
public boolean isSimple()
a
.public boolean isTuple()
RequestedColumn
a.b
. Not that this method, and others can only tell
if the projection implies a tuple; the actual column may
be a tuple (MAP), but be projected simply. The map
format also describes a DICT with a VARCHAR key.public RequestedTuple tuple()
RequestedColumn
a.b, a.c
, then the tuple projection will list only
the referenced columns. However, if projection is generic
(m
), then we presume all columns of the map are projected
and the returned object assumes all members are projected.public boolean isArray()
RequestedColumn
a[1]
. The array format also describes
a DICT with an integer key.public boolean hasIndexes()
RequestedColumn
a[2], a[5]
. The user could also project
both indexes and the array: a[0], a
. In this case
isArray()
is {code true}, but hasIndexes()
is false
.true
if the column has enumerated indexes, false
if the column was also projected as a whole, or if this column
was not observed to be an arraypublic int maxIndex()
RequestedColumn
hasIndexes()
returns true.isArray()
is false
. Also returns 0 if
hasIndexe()
returns false
, meaning that either
the column was not observed to be an array, or was projected
with both indexes and by itself: a[0], a
.public boolean[] indexes()
RequestedColumn
hasIndexes()
returns true
.null
if hasIndexes()
returns false
.public boolean hasIndex(int index)
RequestedColumn
columns
column where
the user can select specific elements (column) but not others.index
- the array index to checktrue
if the array element was projected, either
explicitly (a[3]
) or implicitly (a
). Returns
false
only if hasIndexes()
returns
true
(the user listed only explicit indexes) and the
requested index is not among those requested (index >=
maxIndex() || !indexes()[index]
)public int arrayDims()
RequestedColumn
isArray()
returns true, reports the number of dimensions
observed in projection. That is if projection is a[0][1]
,
then this method returns 2.
Note that, as with all projection-level information, this number reflects only what was in the project list; not what might be the number of dimensions in the actual input source.
isArray()
returns false
.public Qualifier qualifier()
RequestedColumn
Copyright © 1970 The Apache Software Foundation. All rights reserved.