// Path: src/main/java/octopus/api/plugin/Plugin.java
// public interface Plugin
// {
// 	void configure(JSONObject settings);
// 
// 	void execute() throws Exception;
// 
// 	default void beforeExecution() throws Exception {}
// 
// 	default void afterExecution() throws Exception {}
// 
// 	default Object result()
// 	{
// 		return null;
// 	}
// }
// 
// Path: src/main/java/octopus/api/plugin/connectors/OctopusProjectConnector.java
// public class OctopusProjectConnector {
// 
// 	OctopusProjectWrapper wrapper;
// 
// 	public void connect(String projectName)
// 	{
// 		wrapper = openProject(projectName);
// 	}
// 
// 	protected OctopusProjectWrapper openProject(String projectName)
// 	{
// 		OctopusProject oProject = OctopusProjectManager.getProjectByName(projectName);
// 		if(oProject == null)
// 			throw new RuntimeException("Error: project does not exist");
// 
// 		return wrapNewProject(oProject);
// 	}
// 
// 	protected OctopusProjectWrapper wrapNewProject(OctopusProject oProject)
// 	{
// 		OctopusPlainProject project = new OctopusPlainProject();
//         project.setWrappedProject(oProject);
//         return project;
// 
// 	}
// 
// 	public void disconnect()
// 	{
// 		// TODO Auto-generated method stub
// 	}
// 
// 	public OctopusProjectWrapper getWrapper()
// 	{
// 		return wrapper;
// 	}
// 
// 
// }


import org.json.JSONObject;
import octopus.api.plugin.Plugin;
import octopus.api.plugin.connectors.OctopusProjectConnector;
package octopus.api.plugin.types;



/**
 * A plugin that is associated with an Octopus Project.
 *
 **/

public abstract class OctopusProjectPlugin implements Plugin
{

// Path: src/main/java/octopus/api/plugin/Plugin.java
// public interface Plugin
// {
// 	void configure(JSONObject settings);
// 
// 	void execute() throws Exception;
// 
// 	default void beforeExecution() throws Exception {}
// 
// 	default void afterExecution() throws Exception {}
// 
// 	default Object result()
// 	{
// 		return null;
// 	}
// }
// 
// Path: src/main/java/octopus/api/plugin/connectors/OctopusProjectConnector.java
// public class OctopusProjectConnector {
// 
// 	OctopusProjectWrapper wrapper;
// 
// 	public void connect(String projectName)
// 	{
// 		wrapper = openProject(projectName);
// 	}
// 
// 	protected OctopusProjectWrapper openProject(String projectName)
// 	{
// 		OctopusProject oProject = OctopusProjectManager.getProjectByName(projectName);
// 		if(oProject == null)
// 			throw new RuntimeException("Error: project does not exist");
// 
// 		return wrapNewProject(oProject);
// 	}
// 
// 	protected OctopusProjectWrapper wrapNewProject(OctopusProject oProject)
// 	{
// 		OctopusPlainProject project = new OctopusPlainProject();
//         project.setWrappedProject(oProject);
//         return project;
// 
// 	}
// 
// 	public void disconnect()
// 	{
// 		// TODO Auto-generated method stub
// 	}
// 
// 	public OctopusProjectWrapper getWrapper()
// 	{
// 		return wrapper;
// 	}
// 
// 
// }


// Path: src/main/java/octopus/api/plugin/types/OctopusProjectPlugin.java
import org.json.JSONObject;
import octopus.api.plugin.Plugin;
import octopus.api.plugin.connectors.OctopusProjectConnector;

package octopus.api.plugin.types;



/**
 * A plugin that is associated with an Octopus Project.
 *
 **/

public abstract class OctopusProjectPlugin implements Plugin
{

	private OctopusProjectConnector projectConnector;