blob: 4f9ef9e100d2322b3fbf9f6c88ea6ed8447c3e45 [file] [log] [blame]
/**
* Copyright (c) 2006 IBM Corporation.
* 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 Implementation
*
*/
package org.eclipse.ptp.remotetools.environment.extension;
import java.util.Map;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.ptp.remotetools.environment.control.ITargetControl;
import org.eclipse.ptp.remotetools.environment.core.ITargetElement;
import org.eclipse.ptp.remotetools.environment.wizard.AbstractEnvironmentDialogPage;
/**
* Provides an interface that is an extension of a target type. This extension
* must be implemented by each plugin that extends the
* Environment Control Delegate extension point, in order to define
* a new target type.
*
* @author Ricardo M. Matinata, Richard Maciel
* @since 1.1
*/
public interface ITargetTypeExtension {
/**
* Given the attributes, produces a fresh new control instance.
* @param element TODO
*
* @return the control instance
*/
ITargetControl controlFactory(ITargetElement element) throws CoreException;
/**
* Provides an array with all the attributes' name needed by the
* associated controlFactory. Only non-ciphered attributes are listed here.
*
* @return an array of attributes' name
*/
String[] getControlAttributeNames();
/**
* Provides a Dialog Page to edit the associated control's
* attributes
* This should be used to edit an existent target environment
*
* @param attributes the attributes' map. May be null in the case of a new configuration.
* @param name the configuration's key name. May be null in the case of a new configuration.
* @return an wizard page
*/
AbstractEnvironmentDialogPage dialogPageFactory(ITargetElement targetElement);
/**
* Provides a Dialog Page to edit the associated control's
* attributes
* This should be used when a new Target Environment is created
*
* @return an wizard page
*/
AbstractEnvironmentDialogPage dialogPageFactory();
/**
* Provides an array with all the attributes' name needed by the
* associated controlFactory. Only ciphered attributes are listed here.
*
* @return an array of attributes' name
*/
String[] getControlAttributeNamesForCipheredKeys();
}