org.quasiliteral.astro
Class BaseSchema

java.lang.Object
  |
  +--org.quasiliteral.astro.BaseSchema
All Implemented Interfaces:
AstroSchema, Marker, Persistent, Serializable

public class BaseSchema
extends Object
implements AstroSchema, Persistent

Untamed: The default implementation (and default superclass) for implementing AstroSchema simply, starting with an array of tag names.

XXX Need to work on the passability of this class

Author:
Mark S. Miller
See Also:
Serialized Form

Field Summary
static AstroSchema MINIMAL
          Enabled:
private static String[] MinimalTagNames
           
private  AstroTag[] myByTagCode
          Indexed by tag (a short)
private  ConstMap myByTagName
          String (not Twine) => AstroTag
private  AstroTag myLiteralCharTag
           
private  AstroTag myLiteralFloat64Tag
           
private  AstroTag myLiteralIntegerTag
           
private  AstroTag myLiteralStringTag
           
private  String mySchemaName
          For diagnostic purposes only, but included in canonical state.
private  ConstList myTagNames
           
(package private) static long serialVersionUID
           
 
Fields inherited from interface org.erights.e.elib.serial.Persistent
HONORARY, HONORED_NAMES
 
Constructor Summary
BaseSchema(String schemaName, ConstList tagNames)
          Enabled: The literal tag names default to their canonical names
BaseSchema(String schemaName, ConstList tagNames, String literalCharTagName, String literalIntegerTagName, String literalFloat64TagName, String literalStringTagName)
          Enabled:
 
Method Summary
 AstroTag getLiteralCharTag()
          Enabled:
 AstroTag getLiteralFloat64Tag()
          Enabled:
 AstroTag getLiteralIntegerTag()
          Enabled:
 AstroTag getLiteralStringTag()
          Enabled:
 AstroTag getOptTagForCode(short optTagCode)
          Enabled:
 AstroTag getOptTagForName(String tagName)
          Enabled:
 AstroTag getOptTypeTag(Class clazz)
          Enabled:
 String getSchemaName()
          Enabled:
 AstroTag getTagForCode(short tagCode)
          Enabled:
 AstroTag getTypeTag(Class clazz)
          Enabled:
 AstroTag obtainTagForName(String tagName)
          Enabled:
 String toString()
          Suppressed:
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID

MinimalTagNames

private static final String[] MinimalTagNames

MINIMAL

public static final AstroSchema MINIMAL
Enabled:


mySchemaName

private final String mySchemaName
For diagnostic purposes only, but included in canonical state.


myTagNames

private final ConstList myTagNames

myByTagCode

private final AstroTag[] myByTagCode
Indexed by tag (a short)


myByTagName

private final ConstMap myByTagName
String (not Twine) => AstroTag


myLiteralCharTag

private AstroTag myLiteralCharTag

myLiteralIntegerTag

private AstroTag myLiteralIntegerTag

myLiteralFloat64Tag

private AstroTag myLiteralFloat64Tag

myLiteralStringTag

private AstroTag myLiteralStringTag
Constructor Detail

BaseSchema

public BaseSchema(String schemaName,
                  ConstList tagNames)
Enabled: The literal tag names default to their canonical names


BaseSchema

public BaseSchema(String schemaName,
                  ConstList tagNames,
                  String literalCharTagName,
                  String literalIntegerTagName,
                  String literalFloat64TagName,
                  String literalStringTagName)
Enabled:

Method Detail

toString

public String toString()
Suppressed:

Overrides:
toString in class Object
Returns:
a string representation of the object.

getSchemaName

public String getSchemaName()
Enabled:

Specified by:
getSchemaName in interface AstroSchema

getOptTagForCode

public AstroTag getOptTagForCode(short optTagCode)
Enabled:

Specified by:
getOptTagForCode in interface AstroSchema

getTagForCode

public AstroTag getTagForCode(short tagCode)
Enabled:

Specified by:
getTagForCode in interface AstroSchema

getOptTagForName

public AstroTag getOptTagForName(String tagName)
Enabled:

Specified by:
getOptTagForName in interface AstroSchema

obtainTagForName

public AstroTag obtainTagForName(String tagName)
Enabled:

Specified by:
obtainTagForName in interface AstroSchema

getLiteralCharTag

public AstroTag getLiteralCharTag()
Enabled:

Specified by:
getLiteralCharTag in interface AstroSchema

getLiteralIntegerTag

public AstroTag getLiteralIntegerTag()
Enabled:

Specified by:
getLiteralIntegerTag in interface AstroSchema

getLiteralFloat64Tag

public AstroTag getLiteralFloat64Tag()
Enabled:

Specified by:
getLiteralFloat64Tag in interface AstroSchema

getLiteralStringTag

public AstroTag getLiteralStringTag()
Enabled:

Specified by:
getLiteralStringTag in interface AstroSchema

getOptTypeTag

public AstroTag getOptTypeTag(Class clazz)
Enabled:

Specified by:
getOptTypeTag in interface AstroSchema

getTypeTag

public AstroTag getTypeTag(Class clazz)
Enabled:

Specified by:
getTypeTag in interface AstroSchema


comments?