org.d2rq.values
Class ColumnValueMaker

java.lang.Object
  extended by org.d2rq.values.ColumnValueMaker
All Implemented Interfaces:
ValueMaker

public class ColumnValueMaker
extends Object
implements ValueMaker

A ValueMaker that takes its values from a single column.

Author:
Richard Cyganiak (richard@cyganiak.de)

Field Summary
 
Fields inherited from interface org.d2rq.values.ValueMaker
NULL
 
Constructor Summary
ColumnValueMaker(ColumnName column)
           
 
Method Summary
 void describeSelf(NodeSetFilter c)
           
 String makeValue(ResultRow row)
          Retrieves a value from a database row according to some rule or pattern.
 boolean matches(String value)
          Indicates whether the node maker is capable of producing a given value, as far as can be told without having access to the actual database.
 List<OrderOp.OrderSpec> orderSpecs(boolean ascending)
           
 Set<ProjectionSpec> projectionSpecs()
          Returns a set of all ProjectionSpecs containing data necessary for this ValueSource.
 ValueMaker rename(Renamer renamer)
           
 String toString()
           
 Expression valueExpression(String value, DatabaseOp tabular, Vendor vendor)
          A SQL expression that selects only rows where this value maker produces the specified value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ColumnValueMaker

public ColumnValueMaker(ColumnName column)
Method Detail

makeValue

public String makeValue(ResultRow row)
Description copied from interface: ValueMaker
Retrieves a value from a database row according to some rule or pattern.

Specified by:
makeValue in interface ValueMaker
Parameters:
row - the database row
Returns:
a value created from the row

describeSelf

public void describeSelf(NodeSetFilter c)
Specified by:
describeSelf in interface ValueMaker

matches

public boolean matches(String value)
Description copied from interface: ValueMaker
Indicates whether the node maker is capable of producing a given value, as far as can be told without having access to the actual database.

Specified by:
matches in interface ValueMaker
Returns:
true iff this node maker is capable of producing the value

valueExpression

public Expression valueExpression(String value,
                                  DatabaseOp tabular,
                                  Vendor vendor)
Description copied from interface: ValueMaker
A SQL expression that selects only rows where this value maker produces the specified value. Expression.FALSE if this value maker is incapable of producing the value.

Specified by:
valueExpression in interface ValueMaker
Parameters:
value - A value
tabular - The table to which the expression will be applicable
vendor - A vendor instance for datatyping etc.
Returns:
An expression that selects rows that produce this value

projectionSpecs

public Set<ProjectionSpec> projectionSpecs()
Description copied from interface: ValueMaker
Returns a set of all ProjectionSpecs containing data necessary for this ValueSource.

Specified by:
projectionSpecs in interface ValueMaker
Returns:
a set of ProjectionSpecs

rename

public ValueMaker rename(Renamer renamer)
Specified by:
rename in interface ValueMaker

orderSpecs

public List<OrderOp.OrderSpec> orderSpecs(boolean ascending)
Specified by:
orderSpecs in interface ValueMaker

toString

public String toString()
Overrides:
toString in class Object