You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by aj...@apache.org on 2005/11/01 07:25:27 UTC

svn commit: r329991 - in /webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema: ./ typemap/ util/ writer/

Author: ajith
Date: Mon Oct 31 22:25:05 2005
New Revision: 329991

URL: http://svn.apache.org/viewcvs?rev=329991&view=rev
Log:
Added comments in certain wanted places as the first step towrds building documentation for ADB

Modified:
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/BeanWriterMetaInfoHolder.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/CompilerOptions.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompilationException.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaConstants.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/XSD2Java.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/JavaTypeMap.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/TypeMap.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/ConverterUtil.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/SchemaPropertyLoader.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/BeanWriter.java
    webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/JavaBeanWriter.java

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/BeanWriterMetaInfoHolder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/BeanWriterMetaInfoHolder.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/BeanWriterMetaInfoHolder.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/BeanWriterMetaInfoHolder.java Mon Oct 31 22:25:05 2005
@@ -22,7 +22,8 @@
 /**
  * This is a class used as a holder to pass on the meta information to the bean writer
  * This meta information will be used by the writer to write the databinding conversion code
- * Note - Metainfholders are not meant to be reused!!!. They are per-class basis
+ * Note - Metainfholders are not meant to be reused!!!. They are per-class basis and are strictly
+ * not thread safe!!!!
  */
 public class BeanWriterMetaInfoHolder {
 
@@ -39,42 +40,91 @@
     private Map qNameMinOccursCountMap = new HashMap();
     private Map qNameOrderMap = new HashMap();
 
+    /**
+     * get the anon status
+     * @return
+     */
     public boolean isAnonymous() {
         return anonymous;
     }
 
+    /**
+     * Set the anonymous flag
+     * @param anonymous
+     */
     public void setAnonymous(boolean anonymous) {
         this.anonymous = anonymous;
     }
 
+    /**
+     * set the extensions base class name. Valid only when the isExtension
+     * retruns true
+     * @param extensionClassName
+     * @return
+     */
     public String getExtensionClassName() {
         return extensionClassName;
     }
 
+    /**
+     * set the extensions base class name. Valid only when the isExtension
+     * retruns true
+     * @param extensionClassName
+     */
     public void setExtensionClassName(String extensionClassName) {
         this.extensionClassName = extensionClassName;
     }
 
+    /**
+     * get the extension status
+     * @return
+     */
     public boolean isExtension() {
         return extension;
     }
 
+    /**
+     * set the extension status
+     * @param extension
+     */
     public void setExtension(boolean extension) {
         this.extension = extension;
     }
 
+    /**
+     * ge the ordered statu
+     * @return
+     */
     public boolean isOrdered() {
         return ordered;
     }
 
+    /**
+     * set the ordered flag. this marks whether the
+     * items are ordered or not
+     * @param ordered
+     */
     public void setOrdered(boolean ordered) {
         this.ordered = ordered;
     }
 
+    /**
+     * Register a mapping
+     * @param qName
+     * @param schemaName
+     * @param javaClassName
+     */
     public void registerMapping(QName qName,QName schemaName,String javaClassName){
         registerMapping(qName,schemaName,javaClassName,SchemaConstants.ELEMENT_TYPE);
     }
 
+    /**
+     * Register a mapping
+     * @param qName
+     * @param schemaName
+     * @param javaClassName
+     * @param type
+     */
     public void registerMapping(QName qName,QName schemaName,String javaClassName,Integer type){
         this.elementToJavaClassMap.put(qName,javaClassName);
         this.elementToSchemaQNameMap.put(qName,schemaName);
@@ -82,44 +132,79 @@
 
     }
 
+    /**
+     * Get the schema name for the given QName
+     * @param eltQName
+     * @return
+     */
     public QName getSchemaQNameForQName(QName eltQName){
         return (QName)this.elementToSchemaQNameMap.get(eltQName);
     }
 
-    public String getJavaClassNameForQName(QName eltQName){
+    /**
+     * get the class name for the QName
+     * @param eltQName
+     * @return
+     */
+    public String getClassNameForQName(QName eltQName){
         return (String)this.elementToJavaClassMap.get(eltQName);
     }
 
+    /**
+     * Get whether a given QName is an attribute
+     * @param qName
+     * @return
+     */
     public boolean getAttributeStatusForQName(QName qName){
         Integer attribState = (Integer) specialTypeFlagMap.get(qName);
         return attribState != null && attribState.equals(SchemaConstants.ATTRIBUTE_TYPE);
     }
 
+    /**
+     * Get whether a given QName represents a anyType
+     * @param qName
+     * @return
+     */
     public boolean getAnyStatusForQName(QName qName){
         Integer anyState = (Integer) specialTypeFlagMap.get(qName);
         return anyState != null && anyState.equals(SchemaConstants.ANY_TYPE);
     }
 
+    /**
+     *  Get whether a given QName refers to an array
+     * @param qName
+     * @return
+     */
     public boolean getArrayStatusForQName(QName qName){
         Integer anyState = (Integer) specialTypeFlagMap.get(qName);
         return anyState != null && anyState.equals(SchemaConstants.ANY_ARRAY_TYPE);
     }
 
-     public boolean getAnyAttributeStatusForQName(QName qName){
+    /**
+     * Get whether a given QName has the any attribute status
+     * @param qName
+     * @return
+     */
+    public boolean getAnyAttributeStatusForQName(QName qName){
         Integer anyState = (Integer) specialTypeFlagMap.get(qName);
         return anyState != null && anyState.equals(SchemaConstants.ANY_ATTRIBUTE_TYPE);
     }
     /**
-     *
+     *  Clears the whole set of tables.
      */
     public void clearTables(){
         this.elementToJavaClassMap.clear();
         this.elementToSchemaQNameMap.clear();
-
+        this.elementToSchemaQNameMap.clear();
+        this.elementToJavaClassMap.clear();
+        this.specialTypeFlagMap.clear();
+        this.qNameMaxOccursCountMap.clear();
+        this.qNameMinOccursCountMap.clear();
+        this.qNameOrderMap.clear();
     }
 
     /**
-     *
+     * add the maxOccurs associated with a QName
      * @param qName
      * @param minOccurs
      */
@@ -128,16 +213,16 @@
     }
 
     /**
-        *
-        * @param qName
-        * @param index
-        */
-       public void registerQNameIndex(QName qName, int index){
-           this.qNameOrderMap.put(new Integer(index),qName);
-       }
+     * register a QName for the order
+     * @param qName
+     * @param index
+     */
+    public void registerQNameIndex(QName qName, int index){
+        this.qNameOrderMap.put(new Integer(index),qName);
+    }
 
     /**
-     *
+     * Add the minOccurs associated with a QName
      * @param qName
      * @return
      */
@@ -147,7 +232,7 @@
     }
 
     /**
-     *
+     * get the maxOccurs associated with a QName
      * @param qName
      * @return
      */
@@ -157,7 +242,7 @@
     }
 
     /**
-     *
+     * Add the maxOccurs associated with a QName
      * @param qName
      * @param maxOccurs
      */
@@ -166,7 +251,7 @@
     }
 
     /**
-     *
+     * @deprecated Use #getQNameArray
      * @return
      */
     public Iterator getElementQNameIterator(){
@@ -174,17 +259,21 @@
     }
 
     /**
-        *
-        * @return
-        */
-       public QName[] getQNameArray(){
-           Set keySet =elementToJavaClassMap.keySet();
-           return (QName[])keySet.toArray(new QName[keySet.size()]);
-       }
-
+     * get the QName array - may not be ordered
+     * @return
+     */
+    public QName[] getQNameArray(){
+        Set keySet =elementToJavaClassMap.keySet();
+        return (QName[])keySet.toArray(new QName[keySet.size()]);
+    }
 
+    /**
+     * Get the ordered QName array - useful in sequences where the order needs to be preserved
+     * Note - #registerQNameIndex needs to be called if this is to work properly!
+     * @return
+     */
     public QName[] getOrderedQNameArray(){
-       //get the keys of the order map
+        //get the keys of the order map
         Set set = qNameOrderMap.keySet();
         int count = set.size();
         Integer[] keys =(Integer[]) set.toArray(new Integer[count]);
@@ -196,7 +285,7 @@
             returnQNames[i] = (QName)qNameOrderMap.get(keys[i]);
 
         }
-       return returnQNames;
+        return returnQNames;
     }
 
 }

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/CompilerOptions.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/CompilerOptions.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/CompilerOptions.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/CompilerOptions.java Mon Oct 31 22:25:05 2005
@@ -18,10 +18,16 @@
  */
 
 /**
- * This is a bean class that captures all the compiler ptions/parameterss
+ * This is a bean class that captures all the compiler options.
+ * Right now the compiler options consist of the following
+ * 1. output file location - A folder with necessary rights for the
+ * schema compiler to write the files
  */
 public class CompilerOptions {
 
+    /**
+     * Generated output file
+     */
     File outputLocation;
 
     public File getOutputLocation() {

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompilationException.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompilationException.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompilationException.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompilationException.java Mon Oct 31 22:25:05 2005
@@ -15,6 +15,10 @@
  * limitations under the License.
  */
 
+/**
+ * A simeple extension from the java.lang.exception to serve as the schema compilers
+ * Exception
+ */
 public class SchemaCompilationException extends Exception{
 
     public SchemaCompilationException() {

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaCompiler.java Mon Oct 31 22:25:05 2005
@@ -2,8 +2,6 @@
 
 import org.apache.ws.commons.schema.*;
 import org.apache.axis2.om.OMElement;
-import org.apache.axis2.databinding.schema.typemap.JavaTypeMap;
-import org.apache.axis2.databinding.schema.writer.JavaBeanWriter;
 import org.apache.axis2.databinding.schema.writer.BeanWriter;
 import org.apache.axis2.databinding.schema.util.SchemaPropertyLoader;
 
@@ -26,13 +24,16 @@
  * limitations under the License.
  */
 
+/**
+ * Schema compiler for ADB. Based on WS-Commons schema object model.
+ */
 public class SchemaCompiler {
 
     private CompilerOptions options;
     private HashMap processedTypemap;
+
     //The processedElementMap and the processedElementList have a subtle difference
     //The writing to the processedElementList happens when an outer element is processed.
-    //
     private HashMap processedElementMap;
     private HashMap processedAnonymousComplexTypesMap;
     private ArrayList processedElementList;
@@ -51,7 +52,7 @@
     }
 
     /**
-     *
+     * Constructor - Accepts a options bean
      * @param options
      */
     public SchemaCompiler(CompilerOptions options) throws SchemaCompilationException {
@@ -131,7 +132,7 @@
     }
 
     /**
-     * Writes the element
+     *  Writes the element
      * @param xsElt
      * @throws SchemaCompilationException
      */
@@ -168,9 +169,10 @@
 
 
     /**
-     *
+     * Process the element
      * @param xsElt
-     * @param isOuter
+     * @param isOuter  - We need to know this since the treatment of outer elements is different that
+     * inner elements
      * @throws SchemaCompilationException
      */
     private void processElement(XmlSchemaElement xsElt,boolean isOuter) throws SchemaCompilationException{
@@ -178,10 +180,11 @@
     }
 
     /**
-     *
+     * Process and Element
      * @param xsElt
-     * @param isOuter
-     * @param isArray
+     * @param isOuter-We need to know this since the treatment of outer elements is different that
+     * inner elements
+     * @param isArray-flag saying whether the elements represents an array
      * @throws SchemaCompilationException
      */
     private void processElement(XmlSchemaElement xsElt,boolean isOuter,boolean isArray) throws SchemaCompilationException{
@@ -212,7 +215,7 @@
     }
 
     /**
-     *
+     * Finds a class name from the given Qname
      * @param schemaType
      * @return
      */
@@ -341,6 +344,10 @@
 
     }
 
+    /**
+     * Handle any attribute
+     * @param metainf
+     */
     private void processAnyAttribute(BeanWriterMetaInfoHolder metainf) {
         //The best thing we can do here is to add a set of OMAttributes
         metainf.registerMapping(new QName(EXTRA_ATTRIBUTE_FIELD_NAME),
@@ -350,6 +357,11 @@
 
     }
 
+    /**
+     * Process the attribute
+     * @param att
+     * @param metainf
+     */
     public void processAttribute(XmlSchemaAttribute att,BeanWriterMetaInfoHolder metainf){
         //for now we assume (!!!) that attributes refer to standard types only
         QName schemaTypeName = att.getSchemaTypeName();
@@ -364,7 +376,7 @@
     }
 
     /**
-     *
+     *  Process a particle- A particle may be a sequence,all or a choice
      * @param particle
      * @param metainfHolder
      * @throws SchemaCompilationException
@@ -379,7 +391,7 @@
             XmlSchemaObjectCollection items = ((XmlSchemaAll)particle).getItems();
             process(items, metainfHolder,false);
         }else if (particle instanceof XmlSchemaChoice){
-            //handle the choice!
+            //put the code here to handle the choice!
         }
     }
 
@@ -460,7 +472,9 @@
     }
 
     /**
-     *
+     * process the 'any'
+     * @param any
+     * @param metainf
      */
     private void processAny(XmlSchemaAny any,BeanWriterMetaInfoHolder metainf) {
         //handle the minoccurs/maxoccurs here.
@@ -483,6 +497,16 @@
     }
 
 
+    /**
+     * Find whether a given particle is an array. The logic for deciding
+     * whether a given particle is an array is depending on their minOccurs
+     * and maxOccurs counts. If Maxoccurs is greater than one (1) then the
+     * content is an array.
+     * Also no higher level element will have the maxOccurs greater than one
+     * @param particle
+     * @return
+     * @throws SchemaCompilationException
+     */
     private boolean isArray(XmlSchemaParticle particle) throws SchemaCompilationException{
         long minOccurs = particle.getMinOccurs();
         long maxOccurs = particle.getMaxOccurs();

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaConstants.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaConstants.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/SchemaConstants.java Mon Oct 31 22:25:05 2005
@@ -16,7 +16,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+/**
+ * Constants for the QNames of standard schema types
+ */
 public class SchemaConstants {
+
+
+
     public static final String URI_DEFAULT_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema";
     public static final QName XSD_STRING = new QName(URI_DEFAULT_SCHEMA_XSD, "string");
     public static final QName XSD_BOOLEAN = new QName(URI_DEFAULT_SCHEMA_XSD, "boolean");

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/XSD2Java.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/XSD2Java.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/XSD2Java.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/XSD2Java.java Mon Oct 31 22:25:05 2005
@@ -27,11 +27,21 @@
  */
 
 public class XSD2Java {
-    //for now the arguments this main method accepts is the source schema and the output
-    //location
+
+    /**
+     * for now the arguments this main method accepts is the source schema and the output
+     * location
+     * @param args
+     */
     public static void main(String[] args) {
-        //todo do some validation here
-        compile(args[0],args[1]);
+        if (args.length!=2){
+            // printout the options
+            System.out.println("Argument1 - Source schema file name");
+            System.out.println("Argument2 - Output folder name");
+        } else{
+            compile(args[0],args[1]);
+        }
+
     }
 
     /**
@@ -56,7 +66,7 @@
             File outputFolder = new File(outputLocation);
             if (outputFolder.exists()){
                 if (outputFolder.isFile())  {
-                    throw new IOException("specified location is a folder!");
+                    throw new IOException("specified location is not a folder!");
                 }
             }else{
                 outputFolder.mkdirs();
@@ -66,14 +76,8 @@
                     outputFolder));
             compiler.compile(currentSchema);
 
-        } catch (ParserConfigurationException e) {
-            e.printStackTrace();
-        } catch (SAXException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        } catch (SchemaCompilationException e) {
-            e.printStackTrace();
+        } catch (Exception e) {
+           throw new RuntimeException("Compiler caused an exception",e);
         }
     }
 }

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/JavaTypeMap.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/JavaTypeMap.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/JavaTypeMap.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/JavaTypeMap.java Mon Oct 31 22:25:05 2005
@@ -22,6 +22,9 @@
  * limitations under the License.
  */
 
+/**
+ * The java type map. uses a static map for caching
+ */
 public class JavaTypeMap implements TypeMap {
     
     public Map getTypeMap() {

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/TypeMap.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/TypeMap.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/TypeMap.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/typemap/TypeMap.java Mon Oct 31 22:25:05 2005
@@ -19,6 +19,7 @@
 
 /**
  * This is a  typemapper for the bean writer
+ * 
  */
 public interface TypeMap {
 

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/ConverterUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/ConverterUtil.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/ConverterUtil.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/ConverterUtil.java Mon Oct 31 22:25:05 2005
@@ -18,6 +18,13 @@
  * limitations under the License.
  */
 
+/**
+ * Converter methods to go from
+ * 1. simple type -> String
+ * 2. simple type -> Object
+ * 3. String -> simpletype
+ * 4. Object list -> array
+ */
 public class ConverterUtil {
 
     /* String conversion methods */

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/SchemaPropertyLoader.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/SchemaPropertyLoader.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/SchemaPropertyLoader.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/util/SchemaPropertyLoader.java Mon Oct 31 22:25:05 2005
@@ -20,6 +20,9 @@
  * limitations under the License.
  */
 
+/**
+ * Loads the properties  for the schema compiler
+ */
 public class SchemaPropertyLoader {
     private  static  String beanTemplate = null;
     private  static  BeanWriter beanWriterInstance = null;

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/BeanWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/BeanWriter.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/BeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/BeanWriter.java Mon Oct 31 22:25:05 2005
@@ -25,11 +25,15 @@
  * limitations under the License.
  */
 
+/**
+ * The bean writer interface. The schema compiler expects one of these to be
+ * presented to it and calls the appropriate methods
+ */
 public interface BeanWriter {
 
     /**
      * Initialize this writer
-     * @param rootDir
+     * @param rootDir  - The directory to be written into
      * @throws IOException
      */
     public void init(File rootDir) throws IOException ;

Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/JavaBeanWriter.java?rev=329991&r1=329990&r2=329991&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/JavaBeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/databinding/schema/writer/JavaBeanWriter.java Mon Oct 31 22:25:05 2005
@@ -37,6 +37,9 @@
  * limitations under the License.
  */
 
+/**
+ * Java Bean writer for the schema compiler.
+ */
 public class JavaBeanWriter implements BeanWriter{
 
     private String javaBeanTemplateName = null;
@@ -56,8 +59,13 @@
     public JavaBeanWriter(){
     }
 
+    /**
+     * @see BeanWriter#init(java.io.File)
+     * @param rootDir
+     * @throws IOException
+     */
     public void init(File rootDir) throws IOException{
-         if (rootDir ==null){
+        if (rootDir ==null){
             this.rootDir = new File(".");
         }else if (!rootDir.isDirectory()){
             throw new IOException("Root location needs to be a directory!");
@@ -69,7 +77,7 @@
         javaBeanTemplateName = SchemaPropertyLoader.getBeanTemplate();
     }
     /**
-     *
+     * @see BeanWriter#write(org.apache.ws.commons.schema.XmlSchemaComplexType, java.util.Map, org.apache.axis2.databinding.schema.BeanWriterMetaInfoHolder)
      * @param complexType
      * @param typeMap
      * @param metainf
@@ -91,6 +99,17 @@
 
     }
 
+    /**
+     * A util method that holds common code
+     * for the complete schema that the generated XML complies to
+     * look under other/beanGenerationSchema.xsd
+     * @param qName
+     * @param metainf
+     * @param typeMap
+     * @param isElement
+     * @return
+     * @throws Exception
+     */
     private String process(QName qName, BeanWriterMetaInfoHolder metainf, Map typeMap, boolean isElement) throws Exception {
         String packageName = URLProcessor.getNameSpaceFromURL(qName.getNamespaceURI());
         String originalName = qName.getLocalPart();
@@ -117,7 +136,7 @@
         }
 
         if (metainf.isAnonymous()){
-             XSLTUtils.addAttribute(model,"anon","yes",rootElt);
+            XSLTUtils.addAttribute(model,"anon","yes",rootElt);
         }
 
         if (metainf.isExtension()){
@@ -148,7 +167,7 @@
             javaName = getNonConflictingName(propertyNames,javaName);
             XSLTUtils.addAttribute(model,"name",xmlName,property);
             XSLTUtils.addAttribute(model,"javaname",javaName,property);
-            String javaClassNameForElement = metainf.getJavaClassNameForQName(name);
+            String javaClassNameForElement = metainf.getClassNameForQName(name);
             String shortTypeName = "";
             if (metainf.getSchemaQNameForQName(name)!=null){
                 shortTypeName = metainf.getSchemaQNameForQName(name).getLocalPart();
@@ -173,7 +192,7 @@
             }
 
             if (metainf.getAnyAttributeStatusForQName(name)){
-                 XSLTUtils.addAttribute(model,"anyAtt","yes",property); 
+                XSLTUtils.addAttribute(model,"anyAtt","yes",property);
             }
             if (metainf.getArrayStatusForQName(name)){
                 XSLTUtils.addAttribute(model,"array","yes",property);
@@ -187,12 +206,12 @@
                 long minOccurs = metainf.getMinOccurs(name);
 
                 if (minOccurs >0){
-                  XSLTUtils.addAttribute(model,"minOccurs",minOccurs +"",property);
+                    XSLTUtils.addAttribute(model,"minOccurs",minOccurs +"",property);
                 }
 
                 long maxOccurs = metainf.getMaxOccurs(name);
                 if (maxOccurs==Long.MAX_VALUE){
-                     XSLTUtils.addAttribute(model,"unbound","yes",property);
+                    XSLTUtils.addAttribute(model,"unbound","yes",property);
                 }else{
                     XSLTUtils.addAttribute(model,"maxOccurs",maxOccurs +"",property);
                 }
@@ -205,14 +224,23 @@
         parse(model,out);
         //return the fully qualified class name
         return packageName+"."+className;
+
     }
 
+    /**
+     * @see BeanWriter#write(org.apache.ws.commons.schema.XmlSchemaSimpleType, java.util.Map, org.apache.axis2.databinding.schema.BeanWriterMetaInfoHolder)
+     * @param simpleType
+     * @param typeMap
+     * @param metainf
+     * @return
+     * @throws SchemaCompilationException
+     */
     public String write(XmlSchemaSimpleType simpleType, Map typeMap, BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException {
         throw new SchemaCompilationException("Not implemented yet");
     }
 
     /**
-     *
+     * gets a non conflicting java name
      * @param listOfNames
      * @param nameBase
      * @return