[jboss-svn-commits] JBoss Common SVN: r2479 - jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 10 09:33:06 EDT 2007


Author: alex.loubyansky at jboss.com
Date: 2007-08-10 09:33:06 -0400 (Fri, 10 Aug 2007)
New Revision: 2479

Modified:
   jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java
Log:
added namespace to prefix mapping needed in the xb builder

Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java	2007-08-09 11:06:51 UTC (rev 2478)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/SchemaBinding.java	2007-08-10 13:33:06 UTC (rev 2479)
@@ -61,6 +61,8 @@
    
    /** The namespaces Set<String> */
    private Set namespaces = Collections.EMPTY_SET;
+   /** namespace to prefix map, used in xb builder during binding */
+   private Map nsByPrefix = Collections.EMPTY_MAP;
    /** Map<QName, TypeBinding> for simple/complex types */
    private Map types = new HashMap();
    /** Map<QName, ParticleBinding> for */
@@ -145,6 +147,27 @@
       addType(new SimpleTypeBinding(Constants.QNAME_POSITIVEINTEGER));
    }
    
+   public void addPrefixMapping(String prefix, String ns)
+   {
+      if(nsByPrefix == Collections.EMPTY_MAP)
+      {
+         nsByPrefix = Collections.singletonMap(prefix, ns);
+      }
+      else
+      {
+         if(nsByPrefix.size() == 1)
+         {
+            nsByPrefix = new HashMap(nsByPrefix);
+         }
+         nsByPrefix.put(prefix, ns);
+      }
+   }
+   
+   public String getNamespace(String prefix)
+   {
+      return (String) nsByPrefix.get(prefix);
+   }
+   
    /**
     * Get the namespaces.
     * 




More information about the jboss-svn-commits mailing list