|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.iapi.util.IdUtil
Utility class for parsing and producing string representations of ids. This class supports both delimited and un-delimited ids.
The syntax for an id follows.
id := delim-id | unDelim-id delim-id := "[""|[any char but quote]]+" undelim-id := (a-z|A-Z|anyunicodeletter)[a-z|A-Z|_|0-9|anyunicodeletter|anyunicodedigit]* In the syntax braces show grouping. '*' means repeat 0 or more times. '|' means or. '+' means repeat 1 or more times.
In addition this class provides support for qualified names. A qualified name is a dot (.) separated list of ids.
Limitations:
Field Summary | |
static int |
DBCP_SCHEMA_NAME
Index of the schema name in a jar name on a db classpath |
static int |
DBCP_SQL_JAR_NAME
Index of the sql jar name in a jar name on a db classpath |
Constructor Summary | |
IdUtil()
|
Method Summary | |
static java.lang.String |
appendId(java.lang.String id,
java.lang.String list)
Append an id in external form. |
static java.lang.String |
deleteId(java.lang.String id,
java.lang.String list)
Delete an id from a list of ids. |
static java.lang.String |
delimitId(java.lang.String id)
Delimit the identifier provided. |
static java.lang.String |
dups(java.lang.String[] l)
Return an IdList with all the ids that are repeated in l. |
private static boolean |
idChar(boolean first,
int c)
|
static boolean |
idOnList(java.lang.String id,
java.lang.String list)
Return true if the id provided is on the list provided. |
static java.lang.String |
intersect(java.lang.String[] l1,
java.lang.String[] l2)
Return an IdList with all the ids that in l1 and l2 or null if not ids are on both lists. |
static java.lang.String |
mkIdList(java.lang.String[] ids)
Produce a string form of an idList from an array of normalized ids. |
private static java.lang.String |
mkIdListAsEntered(java.lang.String[] externalIds)
Produce an id list from an array of ids in external form |
static java.lang.String |
mkQualifiedName(java.lang.String[] ids)
Make a string form of a qualified name from the array of ids provided. |
static java.lang.String |
mkQualifiedName(java.lang.String id1,
java.lang.String id2)
Produce a delimited two part qualified name from two un-delimited identifiers. |
static java.lang.String[][] |
parseDbClassPath(java.lang.String input,
boolean normalizeToUpper)
Scan a database classpath from the string provided. |
static java.lang.String |
parseId(java.lang.String s)
Convert the String provided to an ID. |
static java.lang.String |
parseId(java.io.StringReader r,
boolean normalize,
boolean normalizeToUpper)
Read an id from the StringReader provided. |
static java.lang.String[] |
parseIdList(java.lang.String p)
Scan a list of ids from the string provided. |
private static java.lang.String[] |
parseIdList(java.io.StringReader r,
boolean normalize)
Parse an idList. |
private static java.lang.String |
parseQId(java.io.StringReader r,
boolean normalize)
|
static java.lang.String[] |
parseQualifiedName(java.lang.String s,
boolean normalizeToUpper)
Scan a qualified name from the String provided. |
static java.lang.String[] |
parseQualifiedName(java.io.StringReader r,
boolean normalizeToUpper)
Scan a qualified name from a StringReader. |
private static java.lang.String |
parseUnQId(java.io.StringReader r,
boolean normalize,
boolean normalizeToUpper)
|
static java.lang.String |
pruneDups(java.lang.String l)
Return an IdList with all the duplicate ids removed |
private static java.lang.String |
vectorToIdList(java.util.Vector v,
boolean normal)
Return an idList in external form with one id for every element of v. |
private static void |
verifyEmpty(java.io.Reader r)
|
private static void |
verifyListEmpty(java.io.StringReader r)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int DBCP_SCHEMA_NAME
public static final int DBCP_SQL_JAR_NAME
Constructor Detail |
public IdUtil()
Method Detail |
public static java.lang.String delimitId(java.lang.String id)
public static java.lang.String mkQualifiedName(java.lang.String id1, java.lang.String id2)
public static java.lang.String mkQualifiedName(java.lang.String[] ids)
public static java.lang.String[] parseQualifiedName(java.lang.String s, boolean normalizeToUpper) throws StandardException
s
- The string to be parsednormalizeToUpper
- If true then undelimited names are converted to upper case (the ANSI standard). If false then undelimited names are converted to lower case (used when the source database is Informix Foundation).
StandardException
- Oopspublic static java.lang.String[] parseQualifiedName(java.io.StringReader r, boolean normalizeToUpper) throws StandardException
r
- A StringReader for the string to be parsednormalizeToUpper
- If true then undelimited names are converted to upper case (the ANSI standard). If false then undelimited names are converted to lower case (used when the source database is Informix Foundation).
StandardException
- Oopspublic static java.lang.String parseId(java.lang.String s) throws StandardException
See the header for getId below for restrictions.
StandardException
- Oopspublic static java.lang.String parseId(java.io.StringReader r, boolean normalize, boolean normalizeToUpper) throws StandardException
StandardException
- Ooops.private static java.lang.String parseUnQId(java.io.StringReader r, boolean normalize, boolean normalizeToUpper) throws java.io.IOException, StandardException
java.io.IOException
StandardException
private static boolean idChar(boolean first, int c)
private static java.lang.String parseQId(java.io.StringReader r, boolean normalize) throws java.io.IOException, StandardException
java.io.IOException
StandardException
private static void verifyEmpty(java.io.Reader r) throws StandardException
StandardException
public static java.lang.String[][] parseDbClassPath(java.lang.String input, boolean normalizeToUpper) throws StandardException
classpath := item[:item]* item := id.id In the syntax braces ([]) show grouping. '*' means repeat 0 or more times. The syntax for id is defined in IdUtil.
StandardException
- Oopspublic static java.lang.String[] parseIdList(java.lang.String p) throws StandardException
StandardException
- Oopsprivate static java.lang.String[] parseIdList(java.io.StringReader r, boolean normalize) throws StandardException
StandardException
- Oopspublic static java.lang.String intersect(java.lang.String[] l1, java.lang.String[] l2)
l1
- An array of ids in normal forml2
- An array of ids in nomral formprivate static java.lang.String vectorToIdList(java.util.Vector v, boolean normal)
normal
- True means the ids in v are in normal form
and false means they are in external form.public static java.lang.String dups(java.lang.String[] l)
l
- a list of ids in normal form.public static java.lang.String pruneDups(java.lang.String l) throws StandardException
l
- a list of ids in external form.
StandardException
- Oops.public static java.lang.String mkIdList(java.lang.String[] ids)
private static java.lang.String mkIdListAsEntered(java.lang.String[] externalIds)
private static void verifyListEmpty(java.io.StringReader r) throws StandardException
StandardException
public static boolean idOnList(java.lang.String id, java.lang.String list) throws StandardException
id
- an id in normal form
StandardException
- oops.public static java.lang.String deleteId(java.lang.String id, java.lang.String list) throws StandardException
id
- an id in normal form (quotes removed, upshifted)list
- a comma separated list of ids in external
form (possibly delmited or not upshifted).
StandardException
- oops.public static java.lang.String appendId(java.lang.String id, java.lang.String list) throws StandardException
StandardException
- oops
|
Built on Mon 2007-06-04 09:58:47+0400, from revision ??? | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |