teichmann@5861: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5861: * Software engineering by Intevation GmbH teichmann@5861: * teichmann@5993: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5861: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5993: * documentation coming with Dive4Elements River for details. teichmann@5861: */ teichmann@5861: teichmann@5835: package org.dive4elements.river.client.shared.model; sascha@813: gernotbelger@9227: import java.io.Serializable; sascha@813: import java.util.ArrayList; gernotbelger@9227: import java.util.List; sascha@813: gernotbelger@9227: // FIXME: who implements a thing like this?? this is a HashMap!! sascha@813: public class AttrList implements Serializable sascha@813: { gernotbelger@9227: private static final long serialVersionUID = 1L; gernotbelger@9227: gernotbelger@9227: private List keyValues; sascha@813: sascha@813: public AttrList() { sascha@813: this(5); sascha@813: } sascha@813: gernotbelger@9227: public AttrList(final int size) { gernotbelger@9227: this.keyValues = new ArrayList(size*2); sascha@813: } sascha@813: sascha@813: public int size() { gernotbelger@9227: return this.keyValues.size() / 2; sascha@813: } sascha@813: gernotbelger@9227: /** gernotbelger@9227: * IMPORTANT: necessary for serialization gernotbelger@9227: */ gernotbelger@9227: public void setKeyValues(final List keyValues) { gernotbelger@9227: this.keyValues = keyValues; sascha@813: } sascha@813: gernotbelger@9227: public String getKey(final int index) { gernotbelger@9227: return this.keyValues.get(index*2); sascha@813: } teichmann@7465: gernotbelger@9227: public String getValue(final int index) { gernotbelger@9227: return this.keyValues.get(index*2 + 1); gernotbelger@9227: } gernotbelger@9227: gernotbelger@9227: public String getValue(final String key) { gernotbelger@9227: for (int i = 0, N = this.keyValues.size(); i < N; i += 2) { gernotbelger@9227: if (this.keyValues.get(i).equals(key)) { gernotbelger@9227: return this.keyValues.get(i + 1); gernotbelger@9227: } gernotbelger@9227: } gernotbelger@9227: return null; gernotbelger@9227: } gernotbelger@9227: gernotbelger@9227: public void add(final String key, final String value) { gernotbelger@9227: this.keyValues.add(key); gernotbelger@9227: this.keyValues.add(value); gernotbelger@9227: } gernotbelger@9227: gernotbelger@9227: public boolean hasAttribute(final String key) { gernotbelger@9227: for (int i = 0, N = this.keyValues.size(); i < N; i += 2) { gernotbelger@9227: if (this.keyValues.get(i).equals(key)) { teichmann@7465: return true; teichmann@7465: } teichmann@7465: } teichmann@7465: return false; teichmann@7465: } gernotbelger@9227: }