/*
* Syncany, www.syncany.org
* Copyright (C) 2011-2016 Philipp C. Heckel <philipp.heckel@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU 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 Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.syncany.config.to;
import java.util.Map;
import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.ElementMap;
/**
* The typed property list is a helper data structure that allows storing an
* object of a certain type with its properties .
*
* <p>It is used in the {@link RepoTO} for chunker, multichunker and transformer,
* and in the {@link ConfigTO} for the connection settings.
*
* <p>It uses the Simple framework for XML serialization, and its corresponding
* annotation-based configuration.
*
* @see <a href="http://simple.sourceforge.net/">Simple framework</a>
* @author Philipp C. Heckel <philipp.heckel@gmail.com>
*/
public abstract class TypedPropertyListTO {
@Attribute(required=true)
private String type;
@ElementMap(entry="property", key="name", required=false, attribute=true, inline=true)
protected Map<String, String> settings;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Map<String, String> getSettings() {
return settings;
}
public void setSettings(Map<String, String> settings) {
this.settings = settings;
}
}