Title: support for Maps

as my data structures are full of maps (id -> complex object),
I have looked for a way to present jibx the maps as collections
by introducing some helper classes

a very simple example would be

        public class NameValueMap extends HashMap<String, String> {
                         // default constructor to satisfy jibx
                     public NameValueMap() { }
                     public boolean add(NameValuePair argNameValuePair) {
                        put(argNameValuePair.myKey,argNameValuePair.myValue);
                        return true;
                 }
                 public Iterator<NameValuePair> iterator() {
                        return new NameValueIterator(this);
                 }
           }
        
           public class NameValueIterator implements Iterator<NameValuePair> {
                 Iterator<Map.Entry<String,String>> myIterator=null;
                 NameValueIterator(NameValueMap argMap)  {
                         myIterator=argMap.entrySet().iterator();
                 }
                 public boolean hasNext()  {
                         return myIterator.hasNext();
                 }
                 public NameValuePair next() {
                         return new NameValuePair(myIterator.next());
                 }
                 public void remove() {
                         myIterator.remove();
                 }
         }

            public class NameValuePair {
                        // private default constructor to satisfy jibx
                   private NameValuePair() { }
                   NameValuePair(Map.Entry<String,String> curr) {
                         myKey=curr.getKey();
                         myValue=curr.getValue();
                }
                   public String myKey=null;
                   public String myValue=null;
            }

manfred

<mailto:[EMAIL PROTECTED]>      Tel +49 89 636-76854
Siemens AG                                       mobile +49 178 7700153
COM MN MS RD SE 2                                Fax +49 89 636-75037
St.-Martin-Str. 76, D-81541 München              Mch M 34/493

Reply via email to