ix.util.xml
Class Syntax

java.lang.Object
  |
  +--ix.util.xml.Syntax
Direct Known Subclasses:
XMLTreeEditPanel.TemplateSyntax

public class Syntax
extends java.lang.Object

Describes the (XML) syntax of data objects.


Inner Class Summary
protected  class Syntax.ClassDescr
           
protected  class Syntax.FieldDescr
           
 
Field Summary
protected  java.util.Map classToFieldsCache
           
protected  TwoKeyHashMap fieldCaseMap
           
protected  java.util.Set hiddenFields
           
protected  Predicate1 isFieldAttribute
           
protected  org.jdom.output.XMLOutputter outputter
           
protected  java.util.Map walkerCache
           
protected  XMLTranslator xmlt
           
 
Constructor Summary
Syntax(XMLTranslator xmlt)
           
 
Method Summary
(package private)  void ()
          Initialize tables of special cases.
protected  java.util.List attributeFields(java.util.List fields)
           
protected  java.util.List computeFields(java.lang.Class c)
           
 void describeClass(java.lang.String className, java.io.PrintStream out)
           
protected  java.util.List elementFields(java.util.List fields)
           
protected  java.lang.String eltTypeSyntax(Syntax.ClassDescr cd)
           
protected  FieldWalker ensureFieldWalker(java.lang.Class c)
           
protected  java.lang.String fieldSyntax(Syntax.FieldDescr fd)
           
protected  Syntax.ClassDescr getFieldClassDescr(java.lang.Class fieldClass, java.lang.String fieldName, java.lang.Class fromClass)
           
protected  java.util.List getFieldInfo(java.lang.Class c)
           
protected  java.util.List getFields(java.lang.Class c)
          Returns a list of FieldDescrs
static void main(java.lang.String[] argv)
          Test loop that repeatedly asks the user for a class name and prints a description of the syntax for objects of that class.
protected  void OLDprintStructSyntax(java.lang.Class c, java.io.PrintStream out)
           
protected  void printEnumerationSyntax(java.lang.Class c, java.io.PrintStream out)
           
protected  void printStructSyntax(java.lang.Class c, java.io.PrintStream out)
           
protected  void printSyntax(java.lang.Class c, java.io.PrintStream out)
           
protected  java.util.List relevantClasses(java.lang.Class c)
          Returns a recursively composed list of classes that are related to the specified class by being the types of fields, etc.
protected  void walkRelevantClasses(java.lang.Class c, java.util.List result)
           
protected  void walkRelevantClasses(Syntax.ClassDescr fd, java.util.List result)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

xmlt

protected XMLTranslator xmlt

outputter

protected org.jdom.output.XMLOutputter outputter

walkerCache

protected java.util.Map walkerCache

classToFieldsCache

protected java.util.Map classToFieldsCache

fieldCaseMap

protected TwoKeyHashMap fieldCaseMap

hiddenFields

protected java.util.Set hiddenFields

isFieldAttribute

protected Predicate1 isFieldAttribute
Constructor Detail

Syntax

public Syntax(XMLTranslator xmlt)
Method Detail

void ()
Initialize tables of special cases.
Overrides:
in class java.lang.Object

describeClass

public void describeClass(java.lang.String className,
                          java.io.PrintStream out)

printSyntax

protected void printSyntax(java.lang.Class c,
                           java.io.PrintStream out)

printStructSyntax

protected void printStructSyntax(java.lang.Class c,
                                 java.io.PrintStream out)

fieldSyntax

protected java.lang.String fieldSyntax(Syntax.FieldDescr fd)

eltTypeSyntax

protected java.lang.String eltTypeSyntax(Syntax.ClassDescr cd)

attributeFields

protected java.util.List attributeFields(java.util.List fields)

elementFields

protected java.util.List elementFields(java.util.List fields)

OLDprintStructSyntax

protected void OLDprintStructSyntax(java.lang.Class c,
                                    java.io.PrintStream out)

printEnumerationSyntax

protected void printEnumerationSyntax(java.lang.Class c,
                                      java.io.PrintStream out)

relevantClasses

protected java.util.List relevantClasses(java.lang.Class c)
Returns a recursively composed list of classes that are related to the specified class by being the types of fields, etc.

walkRelevantClasses

protected void walkRelevantClasses(java.lang.Class c,
                                   java.util.List result)

walkRelevantClasses

protected void walkRelevantClasses(Syntax.ClassDescr fd,
                                   java.util.List result)

getFields

protected java.util.List getFields(java.lang.Class c)
Returns a list of FieldDescrs

computeFields

protected java.util.List computeFields(java.lang.Class c)

getFieldClassDescr

protected Syntax.ClassDescr getFieldClassDescr(java.lang.Class fieldClass,
                                               java.lang.String fieldName,
                                               java.lang.Class fromClass)

getFieldInfo

protected java.util.List getFieldInfo(java.lang.Class c)

ensureFieldWalker

protected FieldWalker ensureFieldWalker(java.lang.Class c)

main

public static void main(java.lang.String[] argv)
Test loop that repeatedly asks the user for a class name and prints a description of the syntax for objects of that class.