1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 20 21 package org.netbeans.modules.j2ee.deployment.plugins.api; 22 23 import javax.enterprise.deploy.spi.DeploymentManager; 24 import org.openide.WizardDescriptor; 25 26 /** 27 * Factory for optional deployment functionality that a plugin can provide. 28 * Plugins need to register an instance of this class in module layer in folder 29 * <code>J2EE/DeploymentPlugins/{plugin_name}</code>. 30 * 31 * @author Pavel Buzek 32 */ 33 public abstract class OptionalDeploymentManagerFactory { 34 35 /** 36 * Create StartServer for given DeploymentManager. 37 * The instance returned by this method will be cached by the j2eeserver. 38 */ 39 public abstract StartServer getStartServer (DeploymentManager dm); 40 41 /** 42 * Create IncrementalDeployment for given DeploymentManager. 43 * The instance returned by this method will be cached by the j2eeserver. 44 */ 45 public abstract IncrementalDeployment getIncrementalDeployment (DeploymentManager dm); 46 47 /** 48 * Create FindJSPServlet for given DeploymentManager. 49 * The instance returned by this method will be cached by the j2eeserver. 50 */ 51 public abstract FindJSPServlet getFindJSPServlet (DeploymentManager dm); 52 53 /** 54 * Create TargetModuleIDResolver for the given DeploymentManager. 55 * The instance returned by this method will be cached by the j2eeserver. 56 */ 57 public TargetModuleIDResolver getTargetModuleIDResolver(DeploymentManager dm) { 58 return null; 59 } 60 61 /** 62 * Create the wizard iterator to be used in the Add Server Instance wizard 63 */ 64 public WizardDescriptor.InstantiatingIterator getAddInstanceIterator() { 65 return null; 66 } 67 68 /** 69 * Creates an Ant deployment provider for the specified deployment manager. 70 * 71 * @param dm deployment manager. 72 * @return an instance of the AntDeploymentProvider if Ant deployment 73 * is supported for the specified deployment manager, null otherwise. 74 * @since 1.18 75 */ 76 public AntDeploymentProvider getAntDeploymentProvider(DeploymentManager dm) { 77 return null; 78 } 79 80 /** 81 * Creates a <code>DatasourceManager</code> for the given deployment manager 82 * or <code>null</code> if data source management is not supported 83 * 84 * @param dm the deployment manager 85 * 86 * @return a data source manager or <code>null</code> if data source management 87 * is not supported 88 * 89 * @since 1.15 90 */ 91 public DatasourceManager getDatasourceManager(DeploymentManager dm) { 92 return null; 93 } 94 } 95