- private AtomicLong sequenceNumbers;
- private ExtendedConfig<DocumentType> documentTypes;
- private ExtendedConfig<Transformation> transformations;
- private ExtendedConfig<Filter> filters;
+
+ public static final class DocumentConfig extends ConfigImpl<DocumentType> {
+ public DocumentConfig(Id<Config> aId) {
+ super(DocumentType.class, aId);
+ }
+
+ public DocumentConfig(DocumentConfig aConfig) {
+ super(aConfig);
+ }
+
+ @Override
+ public DocumentType wrap(DocumentType aT) {
+ return new RobustDocumentType(aT);
+ }
+ }
+
+ public static final class TransformationConfig extends
+ ConfigImpl<Transformation> {
+ public TransformationConfig(Id<Config> aId) {
+ super(Transformation.class, aId);
+ }
+
+ public TransformationConfig(TransformationConfig aConfig) {
+ super(aConfig);
+ }
+
+ @Override
+ public Transformation wrap(Transformation aTransformation) {
+ return new RobustTransformation(aTransformation);
+ }
+ }
+
+ public static final class FilterConfig extends ConfigImpl<Filter> {
+ public FilterConfig(Id<Config> aId) {
+ super(Filter.class, aId);
+ }
+
+ public FilterConfig(FilterConfig aConfig) {
+ super(aConfig);
+ }
+
+ @Override
+ public Filter wrap(Filter aFilter) {
+ return new RobustFilter("", aFilter);
+ }
+ }
+
+ private Id<RouterConfig> id;
+
+ private DocumentConfig documentTypes;
+ private TransformationConfig transformations;
+ private FilterConfig filters;