Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java')
-rw-r--r--plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java419
1 files changed, 0 insertions, 419 deletions
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
deleted file mode 100644
index d34d417aa..000000000
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.core.model;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
-/**
- * A server delegate provides the implementation for various
- * generic and server-type-specific operations for a specific type of server.
- * A server delegate is specified by the
- * <code>class</code> attribute of a <code>serverTypes</code> extension.
- * <p>
- * When the server instance needs to be given a delegate, the delegate class
- * specified for the server type is instantiated with a 0-argument constructor
- * and primed with <code>delegate.initialize(((IServerState)server)</code>,
- * which it is expected to hang on to. Later, when
- * <code>delegate.dispose()</code> is called as the server instance is
- * being discarded, the delegate is expected to let go of the server instance.
- * </p>
- * <p>
- * ServerDelegate supports an open-ended set of attribute-value pairs. All
- * state stored in this manner will be saved when the server working copy is
- * saved, and persisted across workbench sessions.
- * Server delegates may keep state in instance fields, but that state is
- * transient and will not be persisted across workbench sessions. To save
- * state across workbench sessions, it must be persisted using the
- * attributes.
- * </p>
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>serverTypes</code> extension point.
- * </p>
- *
- * @see IServer
- * @see IServerWorkingCopy
- * @since 1.0
- */
-public abstract class ServerDelegate {
- private Server server;
- private ServerWorkingCopy serverWC;
-
- /**
- * Delegates must have a public 0-arg constructor.
- */
- public ServerDelegate() {
- // do nothing
- }
-
- /**
- * Initializes this server delegate with its life-long server instance.
- * <p>
- * This method is called by the server core framework.
- * Clients should never call this method.
- * </p>
- *
- * @param newServer the server instance
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting and cancellation are not desired
- */
- final void initialize(Server newServer, IProgressMonitor monitor) {
- server = newServer;
- if (newServer instanceof ServerWorkingCopy)
- serverWC = (ServerWorkingCopy) newServer;
- initialize();
- }
-
- /**
- * Specify the locking rule to be used during a publish.
- * @return true if only affected projects are locked during a publish. false if the entire workspace
- * needs to be locked during a publish.
- */
- public boolean isUseProjectSpecificSchedulingRuleOnPublish() {
- return false;
- }
-
- /**
- * Initializes this server delegate. This method gives delegates a chance
- * to do their own initialization.
- * <p>
- * This method is called by the server core framework.
- * Clients should never call this method.
- * </p>
- */
- protected void initialize() {
- // do nothing
- }
-
- /**
- * Returns the server that this server delegate corresponds to.
- *
- * @return the server
- */
- public final IServer getServer() {
- return server;
- }
-
- /**
- * Returns the server working copy that this server delegate corresponds to.
- *
- * @return the server
- */
- public final IServerWorkingCopy getServerWorkingCopy() {
- return serverWC;
- }
-
- /**
- * Returns the value of the specified int-valued attribute.
- *
- * @param id the attribute id
- * @param defaultValue the default value of the specified attribute
- * @return the attribute value
- * @see #setAttribute(String, int)
- */
- protected final int getAttribute(String id, int defaultValue) {
- return server.getAttribute(id, defaultValue);
- }
-
- /**
- * Returns the value of the specified boolean-valued attribute.
- *
- * @param id the attribute id
- * @param defaultValue the default value of the specified attribute
- * @return the attribute value
- * @see #setAttribute(String, boolean)
- */
- protected final boolean getAttribute(String id, boolean defaultValue) {
- return server.getAttribute(id, defaultValue);
- }
-
- /**
- * Returns the value of the specified String-valued attribute.
- *
- * @param id the attribute id
- * @param defaultValue the default value of the specified attribute
- * @return the attribute value
- * @see #setAttribute(String, String)
- */
- protected final String getAttribute(String id, String defaultValue) {
- return server.getAttribute(id, defaultValue);
- }
-
- /**
- * Returns the value of the specified List-valued attribute.
- *
- * @param id the attribute id
- * @param defaultValue the default value of the specified attribute
- * @return the attribute value
- * @see #setAttribute(String, List)
- */
- protected final List getAttribute(String id, List<String> defaultValue) {
- return server.getAttribute(id, defaultValue);
- }
-
- /**
- * Returns the value of the specified Map-valued attribute.
- *
- * @param id the attribute id
- * @param defaultValue the default value of the specified attribute
- * @return the attribute value
- * @see #setAttribute(String, Map)
- */
- protected final Map getAttribute(String id, Map defaultValue) {
- return server.getAttribute(id, defaultValue);
- }
-
- /**
- * Disposes of this server delegate.
- * <p>
- * This method is called by the web server core framework.
- * Clients should never call this method.
- * </p>
- * <p>
- * Implementations are expected to let go of the delegate's reference
- * to the server, deregister listeners, etc.
- * </p>
- */
- public void dispose() {
- // do nothing
- }
-
- /**
- * Returns whether the specified module modifications could be made to this
- * server at this time. See the specification of
- * {@link IServerAttributes#canModifyModules(IModule[], IModule[], IProgressMonitor)}
- * for further details.
- * <p>
- * This method is called by the web server core framework in response to
- * a call to <code>IServer.canModifyModules</code>. It should return quickly
- * without connection to the server. Clients should never call this method.
- * </p>
- *
- * @param add a possibly-empty list of modules to add
- * @param remove a possibly-empty list of modules to remove
- * @return a status object with code <code>IStatus.OK</code> if the modules
- * can be modified, otherwise a status object indicating why they can't
- * @see IServerAttributes#canModifyModules(IModule[], IModule[], IProgressMonitor)
- */
- public abstract IStatus canModifyModules(IModule[] add, IModule[] remove);
-
- /**
- * Returns the child module(s) of this module. If this module contains other
- * modules, it should list those modules. If not, it should return an empty
- * list.
- *
- * <p>This method should only return the direct children. To obtain the full
- * tree of modules if they are multiple levels deep, this method may be
- * recursively called on the children.</p>
- *
- * @param module a module
- * @return the child modules
- * @see IServerAttributes#getChildModules(IModule[], IProgressMonitor)
- */
- public abstract IModule[] getChildModules(IModule[] module);
-
- /**
- * Returns the parent module(s) of this module. When determining if a given
- * project can run on a server, this method will be used to find the actual
- * module(s) that may be run on the server. For instance, a Web module may
- * return a list of EAR modules that it is contained in if the server only
- * supports configuring EAR modules. If the server supports running a module
- * directly, the returned array should contain the module.
- *
- * <p>If the module type is not supported, this method will return null or
- * an empty array. If the type is normally supported but there is a
- * configuration problem or missing parent, etc., this method will fire a
- * CoreException that may then be presented to the user.</p>
- *
- * <p>If it does return valid parent(s), this method will always return
- * the topmost parent module(s), even if there are a few levels
- * (a heirarchy) of modules.</p>
- *
- * [issue: should the parameter be IModule[]?]
- *
- * @param module a module
- * @return an array of possible root modules
- * @throws CoreException if anything went wrong
- * @see org.eclipse.wst.server.core.IServerAttributes#getRootModules(IModule, IProgressMonitor)
- */
- public abstract IModule[] getRootModules(IModule module) throws CoreException;
-
- /**
- * Returns an array of ServerPorts that this server has.
- *
- * @return the server's ports
- */
- public ServerPort[] getServerPorts() {
- return null;
- }
-
- /**
- * Initializes this server with default values. This method is called when
- * a new server is created so that the server can be initialized with
- * meaningful values.
- *
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting and cancellation are not desired
- */
- public void setDefaults(IProgressMonitor monitor) {
- // do nothing
- }
-
- /**
- * Sets the value of the specified integer-valued attribute of this
- * element.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see #getAttribute(String, int)
- */
- protected final void setAttribute(String id, int value) {
- serverWC.setAttribute(id, value);
- }
-
- /**
- * Sets the value of the specified boolean-valued attribute of this
- * element.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see #getAttribute(String, boolean)
- */
- protected final void setAttribute(String id, boolean value) {
- serverWC.setAttribute(id, value);
- }
-
- /**
- * Sets the value of the specified string-valued attribute of this
- * element.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see #getAttribute(String, String)
- */
- protected final void setAttribute(String id, String value) {
- serverWC.setAttribute(id, value);
- }
-
- /**
- * Sets the value of the specified list-valued attribute of this
- * element. The list may only contain String values.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see #getAttribute(String, List)
- */
- protected final void setAttribute(String id, List<String> value) {
- serverWC.setAttribute(id, value);
- }
-
- /**
- * Sets the value of the specified map-valued attribute of this
- * element. The map may only contain String values.
- *
- * @param id the attribute id
- * @param value the value of the specified attribute
- * @see #getAttribute(String, Map)
- */
- protected final void setAttribute(String id, Map value) {
- serverWC.setAttribute(id, value);
- }
-
- /**
- * Modifies the list of modules associated with the server.
- * See the specification of
- * {@link IServerWorkingCopy#modifyModules(IModule[], IModule[], IProgressMonitor)}
- * for further details.
- * <p>
- * This method is called by the web server core framework,
- * in response to a call to <code>IServerWorkingCopy.modifyModules</code>.
- * Clients should never call this method.
- * </p>
- * <p>
- * This method is called to update the server configuration (if any)
- * or update the delegates internal state. Note that the actual list
- * of modules is stored on the server and can be accessed at any time
- * using server.getModules(). getModules() will not be updated until
- * after this method successfully returns.
- * </p>
- * <p>
- * This method will not communicate with the server. After saving,
- * publish() can be used to sync up with the server.
- * </p>
- *
- * @param add a possibly-empty list of modules to add
- * @param remove a possibly-empty list of modules to remove
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting and cancellation are not desired
- * @throws CoreException if the changes are not allowed or could not
- * be processed
- */
- public abstract void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException;
-
- /**
- * This method is called to import the server configuration from the given
- * runtime.
- *
- * @param runtime a server runtime
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting and cancellation are not desired
- * @deprecated should use importRuntimeConfiguration (which can throw a
- * CoreException) instead
- */
- public void importConfiguration(IRuntime runtime, IProgressMonitor monitor) {
- try {
- importRuntimeConfiguration(runtime, monitor);
- } catch (CoreException ce) {
- // ignore
- }
- }
-
- /**
- * This method is called to import the server configuration from the given
- * runtime.
- *
- * @param runtime a server runtime
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting and cancellation are not desired
- * @throws CoreException if there is any problem importing the configuration
- * from the runtime
- */
- public void importRuntimeConfiguration(IRuntime runtime, IProgressMonitor monitor) throws CoreException {
- // do nothing
- }
-
- /**
- * This method is called whenever the server configuration should be saved.
- *
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting and cancellation are not desired
- * @throws CoreException if there was a problem saving
- */
- public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
- // do nothing
- }
-
- /**
- * This method is called whenever the server configuration folder has changed.
- * It gives the server a chance to throw out any old data and be ready to
- * reload the server configuration when it is needed next.
- */
- public void configurationChanged() {
- // do nothing
- }
-} \ No newline at end of file

Back to the top