Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/shared/model/AttributedTheme.java @ 1279:af6ad7522351
Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
flys-client/trunk@2861 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 29 Sep 2011 09:14:41 +0000 |
parents | 374712890b94 |
children | aa2313e0f18d |
line wrap: on
line source
package de.intevation.flys.client.shared.model; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class AttributedTheme implements Theme { protected Map<String, String> attributes; public AttributedTheme() { this.attributes = new HashMap<String, String>(); } public Set<String> getKeys() { return attributes.keySet(); } public void addAttr(String name, String value) { if (name != null && value != null) { attributes.put(name, value); } } public String getAttr(String name) { return attributes.get(name); } public Integer getAttrAsInt(String name) { String attr = getAttr(name); if (attr != null && attr.length() > 0) { try { return Integer.parseInt(attr); } catch (NumberFormatException nfe) { } } return null; } public boolean getAttrAsBoolean(String name) { String attr = getAttr(name); if (attr != null) { try { int num = Integer.valueOf(attr); return num > 0; } catch (NumberFormatException nfe) { // do nothing } } return Boolean.valueOf(attr); } @Override public int getPosition() { Integer pos = getAttrAsInt("pos"); return pos != null ? pos.intValue() : -1; } @Override public void setPosition(int pos) { addAttr("pos", String.valueOf(pos)); } @Override public int getIndex() { Integer idx = getAttrAsInt("index"); return idx != null ? idx.intValue() : -1; } @Override public int getActive() { return getAttrAsInt("active"); } @Override public void setActive(int active) { addAttr("active", String.valueOf(active)); } @Override public String getArtifact() { return getAttr("artifact"); } @Override public String getFacet() { return getAttr("facet"); } @Override public String getDescription() { return getAttr("description"); } @Override public boolean equals(Object o) { if (!(o instanceof AttributedTheme)) { return false; } AttributedTheme other = (AttributedTheme) o; if (other.getPosition() != getPosition()) { return false; } if (!other.getArtifact().equals(getArtifact())) { return false; } if (other.getActive() != getActive()) { return false; } if (!other.getFacet().equals(getFacet())) { return false; } if (!other.getDescription().equals(getDescription())) { return false; } if (other.getIndex() != getIndex()) { return false; } return true; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :