org.d2rq.lang
Class Pattern

java.lang.Object
  extended by org.d2rq.lang.Pattern

public class Pattern
extends Object

A pattern that combines one or more database columns into a String. Often used as an UriPattern for generating URIs from a column's primary key. Patterns consist of alternating literal parts and column references. The D2RQ syntax encloses column references in @@...@@. Column names must be fully qualified. Example: aaa@@t.col1@@bbb@@t.col2@@@@t.col3@@ccc This has four literal parts: "aaa", "bbb", "", "ccc". It has three column references: t.col1, t.col2, t.col3 Each column reference can also include an encoding function, an instance of TemplateValueMaker.ColumnFunction: aaa@@t.col1|urlify@@bbb. The default encoding function is TemplateValueMaker.IDENTITY.

Author:
Richard Cyganiak (richard@cyganiak.de)

Field Summary
static String DELIMITER
           
 
Constructor Summary
Pattern(String pattern)
           
 
Method Summary
 boolean equals(Object otherObject)
           
 int getColumnCount()
           
 ColumnName[] getColumns()
           
 TemplateValueMaker.ColumnFunction[] getFunctions()
           
 String[] getLiteralParts()
           
 int hashCode()
           
 boolean literalPartsMatchRegex(String regex)
           
static String toPatternString(String[] literalParts, ColumnName[] columns, TemplateValueMaker.ColumnFunction[] functions)
           
 String toString()
           
 TemplateValueMaker toTemplate(SQLConnection sqlConnection)
          Creates a TemplateValueMaker from a pattern syntax string.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DELIMITER

public static final String DELIMITER
See Also:
Constant Field Values
Constructor Detail

Pattern

public Pattern(String pattern)
Method Detail

getColumnCount

public int getColumnCount()

getLiteralParts

public String[] getLiteralParts()

getColumns

public ColumnName[] getColumns()

getFunctions

public TemplateValueMaker.ColumnFunction[] getFunctions()

literalPartsMatchRegex

public boolean literalPartsMatchRegex(String regex)

toTemplate

public TemplateValueMaker toTemplate(SQLConnection sqlConnection)
Creates a TemplateValueMaker from a pattern syntax string. TODO: Should receive a DatabaseOp instead of SQLConnection to source its attributes


toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object otherObject)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toPatternString

public static String toPatternString(String[] literalParts,
                                     ColumnName[] columns,
                                     TemplateValueMaker.ColumnFunction[] functions)