package org.wamblee.xmlrouter.impl;
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;
/**
public class SingleRouterConfig implements ExtendedRouterConfig {
public static final class DocumentConfig extends ConfigImpl<DocumentType> {
- public DocumentConfig(Id<Config> aId) {
+ public DocumentConfig(String aId) {
super(DocumentType.class, aId);
}
public static final class TransformationConfig extends
ConfigImpl<Transformation> {
- public TransformationConfig(Id<Config> aId) {
+ public TransformationConfig(String aId) {
super(Transformation.class, aId);
}
}
public static final class FilterConfig extends ConfigImpl<Filter> {
- public FilterConfig(Id<Config> aId) {
+ public FilterConfig(String aId) {
super(Filter.class, aId);
}
}
}
- private Id<RouterConfig> id;
+ private String prefix;
private DocumentConfig documentTypes;
private TransformationConfig transformations;
/**
* Constructs a router configuration.
*
- * @param aId
+ * @param aPrefix
* Unique id for this configuration.
*/
- public SingleRouterConfig(Id<RouterConfig> aId) {
- id = aId;
- documentTypes = new DocumentConfig(new Id<Config>(aId.getId() +
- ".documenttypes"));
- transformations = new TransformationConfig(new Id<Config>(aId.getId() +
- ".transformations"));
- filters = new FilterConfig(new Id<Config>(aId.getId() + ".filters"));
+ public SingleRouterConfig(String aPrefix) {
+ prefix = aPrefix;
+ documentTypes = new DocumentConfig(aPrefix + ".documenttypes");
+ transformations = new TransformationConfig(aPrefix + ".transformations");
+ filters = new FilterConfig(aPrefix + ".filters");
}
public SingleRouterConfig(SingleRouterConfig aConfig) {
- id = aConfig.id;
+ prefix = aConfig.prefix;
documentTypes = new DocumentConfig(aConfig.documentTypes);
transformations = new TransformationConfig(aConfig.transformations);
filters = new FilterConfig(aConfig.filters);
@Override
public Id<RouterConfig> getId() {
- return id;
+ return new Id<RouterConfig>(prefix);
+ }
+
+ public String getPrefix() {
+ return prefix;
}
@Override