From c7e6b6c8d782d04c8f7a2406938567b36f29873d Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Tue, 12 Jun 2001 13:54:04 +0000 Subject: [PATCH] Changed interface so that instead of returning other components it hides it behind an abstraction. ie Instead of returning a ProjectBuilder it provides interface to ProjectBuilder. Same with ProjectManager. This allows interface/implementation to be changed without effecting the "frontend interface" and vastly simplifies writing frontends. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269159 13f79535-47bb-0310-9956-ffa450edef68 --- .../components/embeddor/Embeddor.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/Embeddor.java b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/Embeddor.java index 0a2b46c2a..722e21df2 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/Embeddor.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/Embeddor.java @@ -7,12 +7,14 @@ */ package org.apache.myrmidon.components.embeddor; +import java.util.Map; import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.activity.Startable; import org.apache.avalon.framework.component.Component; +import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.parameters.Parameterizable; -import org.apache.myrmidon.components.builder.ProjectBuilder; +import org.apache.myrmidon.components.model.Project; import org.apache.myrmidon.components.manager.ProjectManager; /** @@ -26,18 +28,20 @@ public interface Embeddor String ROLE = "org.apache.myrmidon.components.embeddor.Embeddor"; /** - * Retrieve builder for runtime. - * Valid after initialize() call + * Create a project. * - * @return the ProjectBuilder + * @return the created Project */ - ProjectBuilder getProjectBuilder(); + Project createProject( String location, String type, Parameters parameters ) + throws Exception; /** - * Retrieve project engine for runtime. - * Valid after initialize() call + * Create a ProjectManager for a particular project. * - * @return the ProjectBuilder + * @param project the root project + * @param defines the defines in project + * @return the ProjectManager */ - ProjectManager getProjectManager(); + ProjectManager createProjectManager( Project project, Parameters parameters ) + throws Exception; }