org.d2rq.lang
Class Pattern
java.lang.Object
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)
DELIMITER
public static final String DELIMITER
- See Also:
- Constant Field Values
Pattern
public Pattern(String pattern)
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)