Package adql.query.constraint
Class In
java.lang.Object
adql.query.constraint.In
- All Implemented Interfaces:
ADQLObject
,ADQLConstraint
It represents the IN predicate of SQL and ADQL.
This predicate returns true if the value of the given operand is either in the given values list or in the results of the given sub-query, else it returns false.
- Version:
- 1.4 (06/2015)
- Author:
- Grégory Mantelet (CDS;ARI)
-
Constructor Summary
ConstructorsConstructorDescriptionBuilds a IN constraint by copying the given one.In
(ADQLOperand op, ADQLList<ADQLOperand> valuesList) Builds an IN constraint with a values list.In
(ADQLOperand op, ADQLList<ADQLOperand> valuesList, boolean notIn) Builds an IN constraint with a values list.In
(ADQLOperand op, ADQLQuery query) Builds an IN constraint with a sub-query.In
(ADQLOperand op, ADQLQuery query, boolean notIn) Builds an IN constraint with a sub-query.In
(ADQLOperand op, ADQLOperand[] valuesList) Builds an IN constraint with a values list.In
(ADQLOperand op, ADQLOperand[] valuesList, boolean notIn) Builds an IN constraint with a values list. -
Method Summary
Modifier and TypeMethodDescriptionGets an iterator on the intern ADQL objects.getCopy()
Gets a (deep) copy of this ADQL object.getName()
Gets the name of this object in ADQL.final ADQLOperand
Gets the left operand of this IN constraint.final TextPosition
Gets the position of this object/token in the ADQL query.final ADQLQuery
Gets the sub-query (right operand) of this IN constraint.final ADQLList<ADQLOperand>
Gets the values list (right operand) of this IN constraint.final boolean
Tells whether the right operand of this IN constraint is a sub-query or a values list.final boolean
isNotIn()
Tells whether this predicate is IN or NOT IN.void
setNotIn
(boolean notIn) Lets telling whether this predicate must be IN or NOT IN.void
setOperand
(ADQLOperand newLeftOp) Replaces the left operand of this IN constraint.final void
setPosition
(TextPosition position) Set the position of thisIn
in the given ADQL query string.void
setSubQuery
(ADQLQuery newSubQuery) Replaces the sub-query (right operand) of this IN constraint.void
setValuesList
(ADQLList<ADQLOperand> valuesList) Replaces the values list (right operand) of this IN constraint.void
setValuesList
(ADQLOperand[] valuesList) Replaces the values list (right operand) of this IN constraint.toADQL()
Gets the ADQL expression of this object.
-
Constructor Details
-
In
Builds an IN constraint with a sub-query.- Parameters:
op
- The operand whose the value must be in the results of the given sub-query.query
- A sub-query.- Throws:
NullPointerException
- If the given operand and/or the given sub-query is null.
-
In
Builds an IN constraint with a sub-query.- Parameters:
op
- The operand whose the value must be in the results of the given sub-query.query
- A sub-query.notIn
- true for NOT IN, false for IN.- Throws:
NullPointerException
- If the given operand and/or the given sub-query is null.
-
In
Builds an IN constraint with a values list.- Parameters:
op
- The operand whose the value must be in the given values list.valuesList
- The values list.- Throws:
NullPointerException
- If the given operand is null and/or the given list is null or empty.
-
In
Builds an IN constraint with a values list.- Parameters:
op
- The operand whose the value must be in the given values list.valuesList
- The values list.notIn
- true for NOT IN, false for IN.- Throws:
NullPointerException
- If the given operand is null and/or the given list is null or empty.
-
In
Builds an IN constraint with a values list.- Parameters:
op
- The operand whose the value must be in the given values list.valuesList
- The values list.- Throws:
NullPointerException
- If the given operand is null and/or the given list is null or empty.
-
In
public In(ADQLOperand op, ADQLList<ADQLOperand> valuesList, boolean notIn) throws NullPointerException Builds an IN constraint with a values list.- Parameters:
op
- The operand whose the value must be in the given values list.valuesList
- The values list.notIn
- true for NOT IN, false for IN.- Throws:
NullPointerException
- If the given operand is null and/or the given list is null or empty.
-
In
Builds a IN constraint by copying the given one.- Parameters:
toCopy
- The IN constraint to copy.- Throws:
Exception
- If there is an error during the copy.
-
-
Method Details
-
getOperand
Gets the left operand of this IN constraint.- Returns:
- Its left operand.
-
setOperand
Replaces the left operand of this IN constraint.- Parameters:
newLeftOp
- Its new left operand.- Throws:
NullPointerException
- If the given operand is null.
-
getSubQuery
Gets the sub-query (right operand) of this IN constraint.- Returns:
- Its sub-query.
-
hasSubQuery
public final boolean hasSubQuery()Tells whether the right operand of this IN constraint is a sub-query or a values list.- Returns:
- true if the right operand is a sub-query, false for a values list (even empty).
-
setSubQuery
Replaces the sub-query (right operand) of this IN constraint.- Parameters:
newSubQuery
- Its new sub-query.- Throws:
NullPointerException
- If the given sub-query is null.
-
getValuesList
Gets the values list (right operand) of this IN constraint.- Returns:
- Its values list.
-
setValuesList
Replaces the values list (right operand) of this IN constraint.- Parameters:
valuesList
- Its new values list.- Throws:
NullPointerException
- If the given list is null.
-
setValuesList
Replaces the values list (right operand) of this IN constraint.- Parameters:
valuesList
- Its new values list.- Throws:
NullPointerException
- If the given list is null.
-
isNotIn
public final boolean isNotIn()Tells whether this predicate is IN or NOT IN.- Returns:
- true for NOT IN, false for IN.
-
setNotIn
public void setNotIn(boolean notIn) Lets telling whether this predicate must be IN or NOT IN.- Parameters:
notIn
- true for NOT IN, false for IN.
-
getPosition
Description copied from interface:ADQLObject
Gets the position of this object/token in the ADQL query.
By default, no position should be set.
- Specified by:
getPosition
in interfaceADQLObject
- Returns:
- Position of this ADQL item in the ADQL query, or NULL if not written originally in the query (for example, if added afterwards.
-
setPosition
Set the position of thisIn
in the given ADQL query string.- Parameters:
position
- New position of thisIn
.- Since:
- 1.4
-
getCopy
Description copied from interface:ADQLObject
Gets a (deep) copy of this ADQL object.- Specified by:
getCopy
in interfaceADQLObject
- Returns:
- The copy of this ADQL object.
- Throws:
Exception
- If there is any error during the copy.
-
getName
Description copied from interface:ADQLObject
Gets the name of this object in ADQL.- Specified by:
getName
in interfaceADQLObject
- Returns:
- The name of this ADQL object.
-
adqlIterator
Description copied from interface:ADQLObject
Gets an iterator on the intern ADQL objects.
Note:The returned iterator is particularly used by a
ISearchHandler
extension to browse a whole ADQL tree.- Specified by:
adqlIterator
in interfaceADQLObject
- Returns:
- An ADQL objects iterator.
- See Also:
-
toADQL
Description copied from interface:ADQLObject
Gets the ADQL expression of this object.- Specified by:
toADQL
in interfaceADQLObject
- Returns:
- The corresponding ADQL expression.
-