more typesafety in the interface
[xmlrouter] / config / src / main / java / org / wamblee / xmlrouter / config / RouterConfig.java
similarity index 73%
rename from config/src/main/java/org/wamblee/xmlrouter/config/Config.java
rename to config/src/main/java/org/wamblee/xmlrouter/config/RouterConfig.java
index 9ecdcfed5c4f2e7701ae6e2caf146166d29bc54a..db69d743feedd1d96f70a7a03bdb2eb5da65bba4 100644 (file)
@@ -12,7 +12,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 package org.wamblee.xmlrouter.config;
 
 import java.util.Collection;
@@ -24,24 +24,35 @@ import org.wamblee.xmlrouter.common.Id;
  * 
  * @author Erik Brakkee
  */
-public interface Config {
+public interface RouterConfig {
+
+    // Documents
 
     Id<DocumentType> addDocumentType(DocumentType aType);
 
     void removeDocumentType(Id<DocumentType> aId);
 
-    Collection<DocumentType> getDocumentTypes();
+    Collection<Id<DocumentType>> getDocumentTypes();
+
+    DocumentType getDocumentType(Id<DocumentType> aId);
+
+    // Transformations
 
     Id<Transformation> addTransformation(Transformation aTransformation);
 
     void removeTransformation(Id<Transformation> aId);
 
-    Collection<Transformation> getTransformations();
+    Collection<Id<Transformation>> getTransformations();
+
+    Transformation getTransformation(Id<Transformation> aId);
+
+    // Filters
 
     Id<Filter> addFilter(Filter aFilter);
 
     void removeFilter(Id<Filter> aId);
 
-    Collection<Filter> getFilters();
+    Collection<Id<Filter>> getFilters();
 
+    Filter getFilter(Id<Filter> aId);
 }