raimund@1439: package de.intevation.flys.client.shared.model;
raimund@1439:
raimund@1439: import java.util.HashMap;
raimund@1439: import java.util.List;
raimund@1439: import java.util.ArrayList;
raimund@1439:
raimund@1439: /**
raimund@1439: * @author Raimund Renkert
raimund@1439: */
raimund@1503: public class OutputSettings implements Settings, Cloneable {
raimund@1439:
raimund@1439: /** The output name. */
raimund@1439: protected String name;
raimund@1439:
raimund@1439: /** The categories and settings container. */
raimund@1439: protected HashMap > categories;
raimund@1439:
raimund@1439:
raimund@1439: public OutputSettings() {
raimund@1439: this.categories = new HashMap >();
raimund@1439: }
raimund@1439:
raimund@1439:
raimund@1439: public OutputSettings(String name) {
raimund@1439: this.name = name;
raimund@1439: this.categories = new HashMap >();
raimund@1439: }
raimund@1439:
raimund@1439:
felix@3509: /** Set output name. */
raimund@1439: public void setName(String name) {
raimund@1439: this.name = name;
raimund@1439: }
raimund@1439:
raimund@1439:
felix@3509: /** Get output name. */
raimund@1439: public String getName() {
raimund@1439: return this.name;
raimund@1439: }
raimund@1439:
raimund@1439:
raimund@1439: public void setSettings(String category, List settings) {
raimund@1464: if (this.categories == null) {
raimund@1464: this.categories = new HashMap >();
raimund@1464: }
raimund@1439: this.categories.put(category, settings);
raimund@1439: }
raimund@1439:
raimund@1439:
raimund@1439: public List getSettings(String category) {
raimund@1439: return categories.get(category);
raimund@1439: }
raimund@1439:
raimund@1439:
raimund@1503: public List getCategories() {
raimund@1439: ArrayList list = new ArrayList(categories.keySet());
raimund@1439: return list;
raimund@1439: }
raimund@1503:
raimund@1503:
raimund@1503: public Object clone() {
raimund@1503: OutputSettings clone = new OutputSettings(this.getName());
raimund@1503: for (String s: this.getCategories()) {
raimund@1503: ArrayList cloneList = new ArrayList();
raimund@1503: for(Property p: this.getSettings(s)) {
raimund@1503: cloneList.add((Property)p.clone());
raimund@1503: }
raimund@1503: clone.setSettings(s, cloneList);
raimund@1503: }
raimund@1503: return clone;
raimund@1503: }
raimund@1439: }
felix@3509: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
felix@3509: