Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.nuiton.wikitty.query;
  
  /*
   * #%L
   * Wikitty :: api
   * %%
   * Copyright (C) 2009 - 2013 CodeLutin
   * %%
   * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as 
  * published by the Free Software Foundation, either version 3 of the 
  * License, or (at your option) any later version.
  * 
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Lesser Public License for more details.
  * 
  * You should have received a copy of the GNU General Lesser Public 
  * License along with this program.  If not, see
  * <http://www.gnu.org/licenses/lgpl-3.0.html>.
  * #L%
  */
 
 
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
Encapsule une liste pour permettre une iteration et une modification facile des valeurs de cette listes. Les valeurs peuvent etre dans des maps, il est donc penible de parcourrir la liste, puis les maps, puis de modifier les valeurs de ces maps. La method iter retourne un iterator qui permet d'avance aussi bien dans la liste si celle-ci ne contient pas de Map ou dans les valeurs des Map si la liste est constituee de Map. Il est alors possible de recupere la valeur courante, modifier la valeur courante ou recuperer une Key qui permettra de mettre a jour l'element plus tard. Cette Class est surtout utilise pour la methode WikittyClient

Author(s):
poussin
Version:
$Revision$ Last update: $Date$ by : $Author$
 
 public class ListObjectOrMap implements List {

    
to use log facility, just put in your code: log.info(\"...\");
 
     static private Log log = LogFactory.getLog(ListObjectOrMap.class);
 
     protected List list;
 
     public ListObjectOrMap() {
         this. = new ArrayList();
     }
 
     public ListObjectOrMap(List list) {
         this. = list;
     }
 
     @Override
     public String toString() {
         return .toString();
     }

    
Ajoute une nouvelle map dans la liste avec les elements fournis en parametre

Parameters:
key
value
 
     public void add(String keyObject value) {
         Map map = new HashMap();
         map.put(keyvalue);
         add(map);
     }
 
     public List getList() {
         return ;
     }
 
     public ListObjectOrMapIterator iter() {
         return new ListObjectOrMapIterator();
     }
 
      public interface Key {
          public Object getValue();
          public void setValue(Object v);
          public void remove();
      }
 
     class KeyMap implements Key {
         protected Map map;
         protected Object key;
         public KeyMap(Map mapObject key) {
             this. = map;
             this. = key;
         }
        @Override
        public Object getValue() {
            return .get();
        }
         @Override
         public void setValue(Object v) {
             .put(v);
         }
         @Override
         public void remove() {
            .remove();
         }
    }
    class KeyList implements Key {
        protected List list;
        protected int i;
        public KeyList(List listint i) {
            this. = list;
            this. = i;
        }
        @Override
        public Object getValue() {
            return .get();
        }
        @Override
        public void setValue(Object v) {
            .set(v);
        }
        @Override
        public void remove() {
            .remove();
        }
    }
     public class ListObjectOrMapIterator implements Iterator {
        protected boolean isMap;
        
        protected List list;
        protected Object[] listEntry;
        protected int listIndex;
        protected Map map;
        protected Map.Entry[] mapEntry;
        protected int mapIndex;
        protected Object next;
        protected Key key;
        public ListObjectOrMapIterator() {
             = ListObjectOrMap.this.;
             = .toArray();
             = 0;
        }
        @Override
        public boolean hasNext() {
            boolean result = false;
            if ( != null &&  < .) {
                result = true;
            } else {
                while (!result &&  < .) {
                     = [++];
                     =  instanceof Map;
                    if () {
                         = (Map);
                        Set<Map.Entryentry = .entrySet();
                        if (!entry.isEmpty()) {
                             = entry.toArray(new Map.Entry[entry.size()]);
                             = 0;
                            result = true;
                        }
                    } else {
                        result = true;
                    }
                }
            }
            return result;
        }
        @Override
        public Object next() {
            if () {
                Map.Entry e = [++];
                 = new KeyMap(e.getKey());
                return e.getValue();
            } else {
                 = new KeyList(-1);
                return ;
            }
        }
        public Key nextKey() {
            next();
            return ;
        }
        
        public Key getKey() {
            return ;
        }
        public void setValue(Object v) {
            .setValue(v);
        }
        @Override
        public void remove() {
            .remove();
        }
    }
    @Override
    public int size() {
        return .size();
    }
    @Override
    public boolean isEmpty() {
        return .isEmpty();
    }
    @Override
    public boolean contains(Object o) {
        return .contains(o);
    }
    @Override
    public Iterator iterator() {
        return .iterator();
    }
    @Override
    public Object[] toArray() {
        return .toArray();
    }
    @Override
    public Object[] toArray(Object[] a) {
        return .toArray(a);
    }
    @Override
    public boolean add(Object e) {
        return .add(e);
    }
    @Override
    public boolean remove(Object o) {
        return .remove(o);
    }
    @Override
    public boolean containsAll(Collection c) {
        return .containsAll(c);
    }
    @Override
    public boolean addAll(Collection c) {
        return .addAll(c);
    }
    @Override
    public boolean addAll(int indexCollection c) {
        return .addAll(indexc);
    }
    @Override
    public boolean removeAll(Collection c) {
        return .removeAll(c);
    }
    @Override
    public boolean retainAll(Collection c) {
        return .retainAll(c);
    }
    @Override
    public void clear() {
        .clear();
    }
    @Override
    public Object get(int index) {
        return .get(index);
    }
    @Override
    public Object set(int indexObject element) {
        return .set(indexelement);
    }
    @Override
    public void add(int indexObject element) {
        .add(indexelement);
    }
    @Override
    public Object remove(int index) {
        return .remove(index);
    }
    @Override
    public int indexOf(Object o) {
        return .indexOf(o);
    }
    @Override
    public int lastIndexOf(Object o) {
        return .lastIndexOf(o);
    }
    @Override
    public ListIterator listIterator() {
        return .listIterator();
    }
    @Override
    public ListIterator listIterator(int index) {
        return .listIterator(index);
    }
    @Override
    public List subList(int fromIndexint toIndex) {
        return .subList(fromIndextoIndex);
    }
New to GrepCode? Check out our FAQ X