First version after introduction of meaningful ids and Identifiable interface.
[xmlrouter] / config / src / main / java / org / wamblee / xmlrouter / config / RouterConfig.java
index db69d743feedd1d96f70a7a03bdb2eb5da65bba4..14622508f06e6fc65303c6b45a3465f0f3c89418 100644 (file)
  */
 package org.wamblee.xmlrouter.config;
 
-import java.util.Collection;
-
-import org.wamblee.xmlrouter.common.Id;
-
 /**
  * Configuration API for the XML router.
  * 
  * @author Erik Brakkee
  */
-public interface RouterConfig {
-
-    // Documents
-
-    Id<DocumentType> addDocumentType(DocumentType aType);
-
-    void removeDocumentType(Id<DocumentType> aId);
-
-    Collection<Id<DocumentType>> getDocumentTypes();
-
-    DocumentType getDocumentType(Id<DocumentType> aId);
-
-    // Transformations
-
-    Id<Transformation> addTransformation(Transformation aTransformation);
-
-    void removeTransformation(Id<Transformation> aId);
-
-    Collection<Id<Transformation>> getTransformations();
-
-    Transformation getTransformation(Id<Transformation> aId);
-
-    // Filters
-
-    Id<Filter> addFilter(Filter aFilter);
-
-    void removeFilter(Id<Filter> aId);
-
-    Collection<Id<Filter>> getFilters();
-
-    Filter getFilter(Id<Filter> aId);
+public interface RouterConfig extends Identifiable<RouterConfig> {
+
+    /**
+     * @return Document types.
+     */
+    Config<DocumentType> documentTypeConfig();
+
+    /**
+     * @return Transformations.
+     */
+    Config<Transformation> transformationConfig();
+
+    /**
+     * @return Filters.
+     */
+    Config<Filter> filterConfig();
 }