Package org.intermine.sql.query
Class SubQueryConstraint
- java.lang.Object
-
- org.intermine.sql.query.AbstractConstraint
-
- org.intermine.sql.query.SubQueryConstraint
-
- All Implemented Interfaces:
SQLStringable
public class SubQueryConstraint extends AbstractConstraint
A representation of a constraint where an AbstractValue is IN the results of a Query.- Author:
- Matthew Wakeling
-
-
Field Summary
Fields Modifier and Type Field Description protected AbstractValue
left
protected Query
right
-
Fields inherited from class org.intermine.sql.query.AbstractConstraint
BOTH_FALSE, BOTH_TRUE, EQUAL, EXCLUDES, IMPLIED_BY, IMPLIES, INDEPENDENT, LEFT_FALSE, LEFT_FALSE_RIGHT_TRUE, LEFT_TRUE, LEFT_TRUE_RIGHT_FALSE, OPPOSITE, OR, RIGHT_FALSE, RIGHT_TRUE
-
-
Constructor Summary
Constructors Constructor Description SubQueryConstraint(AbstractValue left, Query right)
Constructor for SubQueryConstraint object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(AbstractConstraint obj, java.util.Map<AbstractTable,AbstractTable> tableMap, java.util.Map<AbstractTable,AbstractTable> reverseTableMap)
Compare this SubQueryConstraint with another AbstractConstraint, ignoring aliases in member fields and tables.java.lang.String
getSQLString()
Returns a String representation of this SubQueryConstraint object, suitable for forming part of an SQL Query.int
hashCode()
Overrides Object.hashCode().-
Methods inherited from class org.intermine.sql.query.AbstractConstraint
alterComparisonAnd, alterComparisonAORB, alterComparisonNotObj, alterComparisonNotThis, alterComparisonSwitch, checkComparisonEquals, checkComparisonImplies, compare, equals
-
-
-
-
Field Detail
-
left
protected AbstractValue left
-
right
protected Query right
-
-
Constructor Detail
-
SubQueryConstraint
public SubQueryConstraint(AbstractValue left, Query right)
Constructor for SubQueryConstraint object.- Parameters:
left
- the AbstractValue on the left of the constraintright
- the Query containing the results. The query should only have one column in its results.
-
-
Method Detail
-
getSQLString
public java.lang.String getSQLString()
Returns a String representation of this SubQueryConstraint object, suitable for forming part of an SQL Query.- Specified by:
getSQLString
in interfaceSQLStringable
- Specified by:
getSQLString
in classAbstractConstraint
- Returns:
- the String representation
-
compare
public int compare(AbstractConstraint obj, java.util.Map<AbstractTable,AbstractTable> tableMap, java.util.Map<AbstractTable,AbstractTable> reverseTableMap)
Compare this SubQueryConstraint with another AbstractConstraint, ignoring aliases in member fields and tables. Compare this AbstractConstraint with another, ignoring aliases in member fields and tables.- Specified by:
compare
in classAbstractConstraint
- Parameters:
obj
- an AbstractConstraint to compare totableMap
- a Map from tables in this constraint to tables in objreverseTableMap
- a reverse of tableMap- Returns:
- INDEPENDENT, IMPLIED_BY, IMPLIES, EQUAL, OPPOSITE, EXCLUDES, or OR, depending on the constraints.
-
hashCode
public int hashCode()
Overrides Object.hashCode().- Specified by:
hashCode
in classAbstractConstraint
- Returns:
- an arbitrary integer based on the contents of the Constraint
-
-