de.fuberlin.wiwiss.d2rq.values
Class BlankNodeID

java.lang.Object
  extended by de.fuberlin.wiwiss.d2rq.values.BlankNodeID
All Implemented Interfaces:
ValueMaker

public class BlankNodeID
extends Object
implements ValueMaker

A blank node identifier that uniquely identifies all resources generated from a specific ClassMap.

(Note: The implementation makes some assumptions about the Column class to keep the code simple and fast. This means BlankNodeIdentifier might not work with some hypothetical subclasses of Column.)

Author:
Richard Cyganiak (richard@cyganiak.de)

Field Summary
 
Fields inherited from interface de.fuberlin.wiwiss.d2rq.values.ValueMaker
NULL
 
Constructor Summary
BlankNodeID(String classMapID, List<Attribute> attributes)
          Constructs a new blank node identifier.
 
Method Summary
 List<Attribute> attributes()
           
 String classMapID()
           
 void describeSelf(NodeSetFilter c)
           
 String makeValue(ResultRow row)
          Creates an identifier from a database row.
 boolean matches(String value)
           
 List<OrderSpec> orderSpecs(boolean ascending)
           
 Set<ProjectionSpec> projectionSpecs()
          Returns a set of all ProjectionSpecs containing data necessary for this ValueSource.
 ValueMaker renameAttributes(ColumnRenamer renamer)
           
 Expression toExpression()
           
 String toString()
           
 Expression valueExpression(String value)
          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

BlankNodeID

public BlankNodeID(String classMapID,
                   List<Attribute> attributes)
Constructs a new blank node identifier.

Parameters:
classMapID - A string that is unique for the class map whose resources are identified by this BlankNodeIdentifier
attributes - A set of Attributes that uniquely identify the nodes
Method Detail

attributes

public List<Attribute> attributes()

classMapID

public String classMapID()

describeSelf

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

matches

public boolean matches(String value)

valueExpression

public Expression valueExpression(String value)
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
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

makeValue

public String makeValue(ResultRow row)
Creates an identifier from a database row.

Specified by:
makeValue in interface ValueMaker
Parameters:
row - a database row
Returns:
this column's blank node identifier

renameAttributes

public ValueMaker renameAttributes(ColumnRenamer renamer)
Specified by:
renameAttributes in interface ValueMaker

orderSpecs

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

toString

public String toString()
Overrides:
toString in class Object

toExpression

public Expression toExpression()