public class PackageOrganizer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.String[] |
m_authorityDiscards
Array of case-insensitive strings to be discarded from start of authority component of URI when converting to
package name.
|
private java.io.File |
m_generateDirectory
Base directory for code generation.
|
private InsertionOrderedMap |
m_namePackageMap
Map from package name to package information.
|
private java.lang.String[] |
m_namespaceLeadMatches
Leading URI text to be matched (paired with replacement values).
|
private java.lang.String[] |
m_namespaceLeadReplaces
Replacement text for URI matches (paired with leading URI texts).
|
private java.util.Map |
m_namespacePackageMap
Map from schema namespace URI to package (empty if unused).
|
private java.lang.String |
m_noNamespacePackage
Package to use for no-namespace schema components.
|
private java.util.Map |
m_packageDirectoryMap
Map from package to base directory for code generation (empty if unused).
|
private java.util.Map |
m_uriPackageMap
Map from namespace URI to package information.
|
Constructor and Description |
---|
PackageOrganizer(java.io.File basedir,
java.lang.String npkg)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
PackageHolder |
getPackage(java.lang.String pname)
Get package information based on package name.
|
PackageHolder |
getPackageForUri(java.lang.String uri)
Get the information for a package.
|
java.util.ArrayList |
getPackages()
Get the defined packages.
|
private int |
hexValue(char chr)
Get value of character as hex digit.
|
private static boolean |
isAsciiAlpha(char chr)
Check if a character is an ASCII alpha character.
|
private static boolean |
isAsciiAlphaNum(char chr)
Check if a character is an ASCII alpha or numeric character.
|
private static boolean |
isAsciiNum(char chr)
Check if a character is an ASCII numeric character.
|
private boolean |
isHexChar(char chr)
Check if a character is a hex digit.
|
void |
setNamespaceLeadReplaces(java.lang.String[] leads,
java.lang.String[] repls)
Set the namespace lead replacement patterns.
|
void |
setNSPackageMap(java.util.Map map)
Set map from namespace URIs to packages.
|
void |
setPackageDirMap(java.util.Map map)
Set map from package to base generation directory.
|
java.lang.String |
uriToPackage(java.lang.String uri)
Convert namespace URI to package name.
|
private final java.io.File m_generateDirectory
private java.lang.String[] m_namespaceLeadMatches
private java.lang.String[] m_namespaceLeadReplaces
private java.util.Map m_namespacePackageMap
private java.util.Map m_packageDirectoryMap
private java.lang.String[] m_authorityDiscards
private java.util.Map m_uriPackageMap
private InsertionOrderedMap m_namePackageMap
private java.lang.String m_noNamespacePackage
public PackageOrganizer(java.io.File basedir, java.lang.String npkg)
basedir
- default base directory for code generationnpkg
- default package for no-namespace schema componentspublic void setNamespaceLeadReplaces(java.lang.String[] leads, java.lang.String[] repls)
leads
- repls
- public void setNSPackageMap(java.util.Map map)
map
- String-to-String mappublic void setPackageDirMap(java.util.Map map)
map
- String-to-File mapprivate boolean isHexChar(char chr)
chr
- private int hexValue(char chr)
chr
- private static boolean isAsciiAlpha(char chr)
chr
- private static boolean isAsciiNum(char chr)
chr
- private static boolean isAsciiAlphaNum(char chr)
chr
- public java.lang.String uriToPackage(java.lang.String uri)
uri
- public PackageHolder getPackage(java.lang.String pname)
pname
- public PackageHolder getPackageForUri(java.lang.String uri)
uri
- corresponding namespace URI (non-null
, empty string for no namespace)public java.util.ArrayList getPackages()