|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.modeshape.sequencer.ddl.datatype.DataTypeParser
public class DataTypeParser
A parser for SQL data types.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.modeshape.sequencer.ddl.DdlConstants |
---|
DdlConstants.AstNodeNames, DdlConstants.DataTypes, DdlConstants.DropBehavior, DdlConstants.MatchType, DdlConstants.Problems, DdlConstants.ReferencialAction, DdlConstants.StatementStartPhrases |
Field Summary |
---|
Fields inherited from interface org.modeshape.sequencer.ddl.DdlConstants |
---|
ALTER, CHECK, COLUMN, COMMA, CONSTRAINT, CONSTRAINT_C, CONSTRAINT_FK, CONSTRAINT_PK, CONSTRAINT_UC, CREATE, DECLARE, DEFAULT_ID_CURRENT_USER, DEFAULT_ID_DATETIME, DEFAULT_ID_LITERAL, DEFAULT_ID_NULL, DEFAULT_ID_SESSION_USER, DEFAULT_ID_SYSTEM_USER, DEFAULT_ID_UNDEFINED, DEFAULT_ID_USER, DEFAULT_TERMINATOR, DELETE, DROP, FOREIGN, FOREIGN_KEY, GIGA, GRANT, INDEX, INSERT, KEY, KILO, L_PAREN, L_SQUOTE, MEGA, MISSING_TERMINATOR_NODE_LITERAL, OFF, ON, PERIOD, PRIMARY, PRIMARY_KEY, R_PAREN, REVOKE, SCHEMA, SELECT, SEMICOLON, SET, SPACE, SQL_92_RESERVED_WORDS, TABLE, UNIQUE, UPDATE, VIEW |
Constructor Summary | |
---|---|
DataTypeParser()
|
Method Summary | |
---|---|
protected boolean |
canConsume(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix,
int type)
|
protected boolean |
canConsume(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix,
String[] additionalStrs)
|
protected boolean |
canConsume(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix,
String initialStr,
String... additionalStrs)
|
protected boolean |
canConsumeAnyOf(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix,
String initialStr,
String... additionalStrs)
|
protected String |
consume(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix)
|
protected String |
consume(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix,
String str)
|
protected String |
consume(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix,
String[] additionalStrs)
|
protected String |
consume(DdlTokenStream tokens,
DataType dataType,
boolean addSpacePrefix,
String initialStr,
String... additionalStrs)
|
int |
getDefaultLength()
|
int |
getDefaultPrecision()
|
int |
getDefaultScale()
|
String |
getStatementTypeName(String[] stmtPhrase)
|
protected boolean |
isCustomDataType(DdlTokenStream tokens)
Method to determine of next tokens represent a custom data type. |
boolean |
isDatatype(DdlTokenStream tokens)
Method determines if the next set of tokens matches one of the registered data type token sets. |
DataType |
parse(DdlTokenStream tokens)
Method which performs the actual parsing of the data type name and applicable values (i.e. |
protected DataType |
parseApproxNumericType(DdlTokenStream tokens)
Parses SQL-92 Approximate numeric data types. |
protected DataType |
parseBitStringType(DdlTokenStream tokens)
Parses SQL-92 Bit string data types. |
protected long |
parseBracketedLong(DdlTokenStream tokens,
DataType dataType)
Returns a long value from the input token stream assuming the long is bracketed with parenthesis. |
protected DataType |
parseCharStringType(DdlTokenStream tokens)
Parses SQL-92 Character string data types. |
protected DataType |
parseCustomType(DdlTokenStream tokens)
General catch-all data type parsing method that sub-classes can override to parse database-specific data types. |
protected DataType |
parseDateTimeType(DdlTokenStream tokens)
Parses SQL-92 Date and Time data types. |
protected DataType |
parseExactNumericType(DdlTokenStream tokens)
Parses SQL-92 Exact numeric data types. |
protected long |
parseLong(DdlTokenStream tokens,
DataType dataType)
Returns a long value from the input token stream assuming the long is not bracketed with parenthesis. |
protected long |
parseLong(String value)
Returns the integer value of the input string. |
protected DataType |
parseMiscellaneousType(DdlTokenStream tokens)
Parses SQL-92 Misc data types. |
protected DataType |
parseNationalCharStringType(DdlTokenStream tokens)
Parses SQL-92 National Character string data types. |
void |
setDefaultLength(int defaultLength)
|
void |
setDefaultPrecision(int defaultPrecision)
|
void |
setDefaultScale(int defaultScale)
|
void |
setPropertiesOnNode(AstNode columnNode,
DataType datatype)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DataTypeParser()
Method Detail |
---|
public final boolean isDatatype(DdlTokenStream tokens) throws ParsingException
tokens
-
ParsingException
protected boolean isCustomDataType(DdlTokenStream tokens) throws ParsingException
tokens
-
ParsingException
public DataType parse(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
protected DataType parseCharStringType(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
protected DataType parseNationalCharStringType(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
protected DataType parseBitStringType(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
protected DataType parseExactNumericType(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
protected DataType parseApproxNumericType(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
protected DataType parseDateTimeType(DdlTokenStream tokens) throws ParsingException
protected DataType parseMiscellaneousType(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
protected DataType parseCustomType(DdlTokenStream tokens) throws ParsingException
tokens
-
DataType
ParsingException
public int getDefaultLength()
public void setDefaultLength(int defaultLength)
defaultLength
- public int getDefaultPrecision()
public void setDefaultPrecision(int defaultPrecision)
defaultPrecision
- public int getDefaultScale()
public void setDefaultScale(int defaultScale)
defaultScale
- protected long parseLong(DdlTokenStream tokens, DataType dataType)
tokens
- dataType
-
protected long parseBracketedLong(DdlTokenStream tokens, DataType dataType)
tokens
- dataType
-
protected long parseLong(String value)
value
-
NumberFormatException
- if a valid integer is not foundprotected String consume(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix) throws ParsingException
tokens
- dataType
- addSpacePrefix
-
ParsingException
protected String consume(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix, String str) throws ParsingException
tokens
- dataType
- addSpacePrefix
- str
-
ParsingException
protected String consume(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix, String initialStr, String... additionalStrs) throws ParsingException
tokens
- dataType
- addSpacePrefix
- initialStr
- additionalStrs
-
ParsingException
protected String consume(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix, String[] additionalStrs) throws ParsingException
ParsingException
protected boolean canConsume(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix, String initialStr, String... additionalStrs) throws ParsingException
tokens
- dataType
- addSpacePrefix
- initialStr
- additionalStrs
-
ParsingException
protected boolean canConsume(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix, String[] additionalStrs) throws ParsingException
tokens
- dataType
- addSpacePrefix
- additionalStrs
-
ParsingException
protected boolean canConsume(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix, int type) throws ParsingException
tokens
- dataType
- addSpacePrefix
- type
-
ParsingException
protected boolean canConsumeAnyOf(DdlTokenStream tokens, DataType dataType, boolean addSpacePrefix, String initialStr, String... additionalStrs) throws ParsingException
tokens
- dataType
- addSpacePrefix
- initialStr
- additionalStrs
-
ParsingException
public String getStatementTypeName(String[] stmtPhrase)
stmtPhrase
-
public void setPropertiesOnNode(AstNode columnNode, DataType datatype)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |