import java.util.Collection;
+import org.wamblee.xmlrouter.common.Id;
import org.wamblee.xmlrouter.config.Config;
import org.wamblee.xmlrouter.config.DocumentType;
import org.wamblee.xmlrouter.config.Filter;
import org.wamblee.xmlrouter.config.RouterConfig;
import org.wamblee.xmlrouter.config.Transformation;
+// TODO test this class.
public class CompositeRouterConfig implements ExtendedRouterConfig {
+ private Id<RouterConfig> id;
private CompositeConfig<DocumentType> documentTypes;
private CompositeConfig<Transformation> transformations;
private CompositeConfig<Filter> filters;
- public CompositeRouterConfig(Collection<RouterConfig> aConfigs) {
- documentTypes = new CompositeConfig<DocumentType>();
- transformations = new CompositeConfig<Transformation>();
- filters = new CompositeConfig<Filter>();
+ public CompositeRouterConfig(Id<RouterConfig> aId,
+ Collection<RouterConfig> aConfigs) {
+ id = aId;
+ documentTypes = new CompositeConfig<DocumentType>(new Id<Config>(
+ "documentTypes"));
+ transformations = new CompositeConfig<Transformation>(new Id<Config>(
+ "transformations"));
+ filters = new CompositeConfig<Filter>(new Id<Config>("filters"));
for (RouterConfig config : aConfigs) {
- documentTypes.add(config.documentTypeConfig());
- transformations.add(config.transformationConfig());
- filters.add(config.filterConfig());
+ documentTypes.addConfig(config.documentTypeConfig());
+ transformations.addConfig(config.transformationConfig());
+ filters.addConfig(config.filterConfig());
}
}
+ // TODO test id.
+
+ @Override
+ public Id<RouterConfig> getId() {
+ return id;
+ }
+
@Override
public Config<DocumentType> documentTypeConfig() {
return documentTypes;