org.intermine.sql.query
Class Field

java.lang.Object
  extended by org.intermine.sql.query.AbstractValue
      extended by org.intermine.sql.query.Field
All Implemented Interfaces:
SQLStringable

public class Field
extends AbstractValue

A representation of a field in a table.


Field Summary
protected  java.lang.String name
           
protected  AbstractTable table
           
 
Fields inherited from class org.intermine.sql.query.AbstractValue
EQUAL, GREATER, INCOMPARABLE, LESS, NOT_EQUAL
 
Constructor Summary
Field(java.lang.String name, AbstractTable table)
          Constructor for this Field object.
 
Method Summary
 int compare(AbstractValue obj, java.util.Map<AbstractTable,AbstractTable> tableMap, java.util.Map<AbstractTable,AbstractTable> reverseTableMap)
          Compare this field to another AbstractValue.
 boolean equals(java.lang.Object obj)
          Overrides Object.equals().
 boolean equalsTableOnlyAlias(AbstractValue obj)
          Compare this Field to another AbstractValue, including only the table alias.
 java.lang.String getName()
          Returns the name of the field.
 java.lang.String getSQLString()
          Returns a String representation of this Field object, suitable for forming part of an SQL query.
 AbstractTable getTable()
          Returns the table of this field.
 int hashCode()
          Overrides Object.hashcode().
 boolean isAggregate()
          Returns true if this value is an aggregate function.
 
Methods inherited from class org.intermine.sql.query.AbstractValue
greaterOrEqual, greaterThan, lessOrEqual, lessThan, notEqualTo, valueEquals
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

table

protected AbstractTable table
Constructor Detail

Field

public Field(java.lang.String name,
             AbstractTable table)
Constructor for this Field object.

Parameters:
name - the name of the field, as the database knows it
table - the name of the AbstractTable to which the field belongs, as the database knows it
Method Detail

getSQLString

public java.lang.String getSQLString()
Returns a String representation of this Field object, suitable for forming part of an SQL query.

Specified by:
getSQLString in interface SQLStringable
Specified by:
getSQLString in class AbstractValue
Returns:
the String representation

equals

public boolean equals(java.lang.Object obj)
Overrides Object.equals().

Specified by:
equals in class AbstractValue
Parameters:
obj - an Object to compare to
Returns:
true if the object is of the same class, and with the same name

hashCode

public int hashCode()
Overrides Object.hashcode().

Specified by:
hashCode in class AbstractValue
Returns:
an arbitrary integer based on the contents of the Field

equalsTableOnlyAlias

public boolean equalsTableOnlyAlias(AbstractValue obj)
Compare this Field to another AbstractValue, including only the table alias.

Parameters:
obj - an AbstractField to compare to
Returns:
true if the object is of the same class, and with the same value

getTable

public AbstractTable getTable()
Returns the table of this field.

Returns:
table

getName

public java.lang.String getName()
Returns the name of the field.

Returns:
name

compare

public int compare(AbstractValue obj,
                   java.util.Map<AbstractTable,AbstractTable> tableMap,
                   java.util.Map<AbstractTable,AbstractTable> reverseTableMap)
Compare this field to another AbstractValue. Compare the value of this AbstractValue with another.

Specified by:
compare in class AbstractValue
Parameters:
obj - an AbstractValue to compare to
tableMap - a mapping between tablenames of the two elements
reverseTableMap - a reverse of tableMap
Returns:
EQUAL, LESS, GREATER, NOT_EQUAL, or INCOMPARABLE

isAggregate

public boolean isAggregate()
Returns true if this value is an aggregate function.

Specified by:
isAggregate in class AbstractValue
Returns:
a boolean