[jboss-svn-commits] JBoss Common SVN: r2133 - jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/sunday/unmarshalling

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Oct 17 07:22:56 EDT 2006


Author: alex.loubyansky at jboss.com
Date: 2006-10-17 07:22:54 -0400 (Tue, 17 Oct 2006)
New Revision: 2133

Modified:
   jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java
Log:
create the built-in simple types per schema instance

Modified: jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java
===================================================================
--- jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java	2006-10-17 11:22:25 UTC (rev 2132)
+++ jbossxb/branches/as405/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java	2006-10-17 11:22:54 UTC (rev 2133)
@@ -44,84 +44,22 @@
  */
 public class SchemaBinding
 {
-   private static final Map SIMPLE_TYPES = new HashMap();
-
-   // populate SIMPLE_TYPES
-   static
+   private static final ValueAdapter DATE_ADAPTER = new ValueAdapter()
    {
-      ValueAdapter dateAdapter = new ValueAdapter()
+      public Object cast(Object o, Class c)
       {
-         public Object cast(Object o, Class c)
+         if (o != null && java.util.Date.class.isAssignableFrom(c))
          {
-            if(o != null && java.util.Date.class.isAssignableFrom(c))
-            {
-               o = ((java.util.Calendar)o).getTime();
-            }
-            return o;
+            o = ((java.util.Calendar) o).getTime();
          }
-      };
+         return o;
+      }
+   };
 
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_ANYSIMPLETYPE));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_STRING));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_BOOLEAN));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_DECIMAL));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_FLOAT));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_DOUBLE));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_DURATION));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_DATETIME, dateAdapter));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_TIME, dateAdapter));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_DATE, dateAdapter));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_GYEARMONTH));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_GYEAR));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_GMONTHDAY));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_GDAY));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_GMONTH));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_HEXBINARY));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_BASE64BINARY));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_ANYURI));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_QNAME));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NOTATION));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NORMALIZEDSTRING));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_TOKEN));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_LANGUAGE));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NMTOKEN));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NMTOKENS));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NAME));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NCNAME));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_ID));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_IDREF));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_IDREFS));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_ENTITY));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_ENTITIES));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_INTEGER));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NONPOSITIVEINTEGER));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NEGATIVEINTEGER));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_LONG));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_INT));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_SHORT));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_BYTE));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_NONNEGATIVEINTEGER));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDLONG));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDINT));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDSHORT));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDBYTE));
-      addSimpleType(new SimpleTypeBinding(Constants.QNAME_POSITIVEINTEGER));
-   }
-
-   protected static TypeBinding getSimpleType(QName name)
-   {
-      return (TypeBinding) SIMPLE_TYPES.get(name);
-   }
-
-   private static void addSimpleType(TypeBinding type)
-   {
-      SIMPLE_TYPES.put(type.getQName(), type);
-   }
-
    /** The namespaces Set<String> */
    private Set namespaces = Collections.EMPTY_SET;
    /** Map<QName, TypeBinding> for simple/complex types */
-   private Map types = new HashMap(SIMPLE_TYPES);
+   private Map types = new HashMap();
    /** Map<QName, ParticleBinding> for */
    private Map elements = new HashMap();
    /** The default package information */
@@ -148,6 +86,55 @@
    /** default XOP marshaller */
    private XOPMarshaller xopMarshaller;
 
+   public SchemaBinding()
+   {
+      addType(new SimpleTypeBinding(Constants.QNAME_ANYSIMPLETYPE));
+      addType(new SimpleTypeBinding(Constants.QNAME_STRING));
+      addType(new SimpleTypeBinding(Constants.QNAME_BOOLEAN));
+      addType(new SimpleTypeBinding(Constants.QNAME_DECIMAL));
+      addType(new SimpleTypeBinding(Constants.QNAME_FLOAT));
+      addType(new SimpleTypeBinding(Constants.QNAME_DOUBLE));
+      addType(new SimpleTypeBinding(Constants.QNAME_DURATION));
+      addType(new SimpleTypeBinding(Constants.QNAME_DATETIME, DATE_ADAPTER));
+      addType(new SimpleTypeBinding(Constants.QNAME_TIME, DATE_ADAPTER));
+      addType(new SimpleTypeBinding(Constants.QNAME_DATE, DATE_ADAPTER));
+      addType(new SimpleTypeBinding(Constants.QNAME_GYEARMONTH));
+      addType(new SimpleTypeBinding(Constants.QNAME_GYEAR));
+      addType(new SimpleTypeBinding(Constants.QNAME_GMONTHDAY));
+      addType(new SimpleTypeBinding(Constants.QNAME_GDAY));
+      addType(new SimpleTypeBinding(Constants.QNAME_GMONTH));
+      addType(new SimpleTypeBinding(Constants.QNAME_HEXBINARY));
+      addType(new SimpleTypeBinding(Constants.QNAME_BASE64BINARY));
+      addType(new SimpleTypeBinding(Constants.QNAME_ANYURI));
+      addType(new SimpleTypeBinding(Constants.QNAME_QNAME));
+      addType(new SimpleTypeBinding(Constants.QNAME_NOTATION));
+      addType(new SimpleTypeBinding(Constants.QNAME_NORMALIZEDSTRING));
+      addType(new SimpleTypeBinding(Constants.QNAME_TOKEN));
+      addType(new SimpleTypeBinding(Constants.QNAME_LANGUAGE));
+      addType(new SimpleTypeBinding(Constants.QNAME_NMTOKEN));
+      addType(new SimpleTypeBinding(Constants.QNAME_NMTOKENS));
+      addType(new SimpleTypeBinding(Constants.QNAME_NAME));
+      addType(new SimpleTypeBinding(Constants.QNAME_NCNAME));
+      addType(new SimpleTypeBinding(Constants.QNAME_ID));
+      addType(new SimpleTypeBinding(Constants.QNAME_IDREF));
+      addType(new SimpleTypeBinding(Constants.QNAME_IDREFS));
+      addType(new SimpleTypeBinding(Constants.QNAME_ENTITY));
+      addType(new SimpleTypeBinding(Constants.QNAME_ENTITIES));
+      addType(new SimpleTypeBinding(Constants.QNAME_INTEGER));
+      addType(new SimpleTypeBinding(Constants.QNAME_NONPOSITIVEINTEGER));
+      addType(new SimpleTypeBinding(Constants.QNAME_NEGATIVEINTEGER));
+      addType(new SimpleTypeBinding(Constants.QNAME_LONG));
+      addType(new SimpleTypeBinding(Constants.QNAME_INT));
+      addType(new SimpleTypeBinding(Constants.QNAME_SHORT));
+      addType(new SimpleTypeBinding(Constants.QNAME_BYTE));
+      addType(new SimpleTypeBinding(Constants.QNAME_NONNEGATIVEINTEGER));
+      addType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDLONG));
+      addType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDINT));
+      addType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDSHORT));
+      addType(new SimpleTypeBinding(Constants.QNAME_UNSIGNEDBYTE));
+      addType(new SimpleTypeBinding(Constants.QNAME_POSITIVEINTEGER));
+   }
+
    /**
     * Get the namespaces.
     * 




More information about the jboss-svn-commits mailing list