1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-05 15:25:49 +02:00

[261486][api][cleanup] Mark @noimplement interfaces as @noextend

This commit is contained in:
Martin Oberhuber 2009-01-19 14:05:25 +00:00
parent e1c0a8fe9b
commit 2656a58a7e
36 changed files with 391 additions and 309 deletions

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2008 Wind River Systems, Inc.
* Copyright (c) 2008, 2009 Wind River Systems, Inc.
* 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
@ -7,6 +7,7 @@
*
* Contributors:
* Johann Draschwandtner (Wind River) - initial API and implementation
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.internal.remotecdt;
@ -20,6 +21,7 @@ package org.eclipse.rse.internal.remotecdt;
* </p>
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
* @since org.eclipse.rse.remotecdt 2.1
*/
public interface IRemoteConnectionHostConstants {

View file

@ -1,27 +1,29 @@
/********************************************************************************
* Copyright (c) 2003, 2008 IBM Corporation. All rights reserved.
* Copyright (c) 2003, 2009 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
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.dstore.core.java;
/**
* <p>
* The IClassByteStreamHandler interface is used to abstract file read and write operations
* across the network.
*
* The IClassByteStreamHandler interface is used to abstract file read and write
* operations across the network.
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IClassByteStreamHandler
{
@ -31,7 +33,7 @@ public interface IClassByteStreamHandler
* @return the unique id
*/
public String getIdentifier();
/**
* Receive a class and load it. This method is called by the
* DataStore when the communication layer receives a class file transfer
@ -43,10 +45,10 @@ public interface IClassByteStreamHandler
* @param size the number of bytes in the class
*/
public void receiveBytes(String className, byte[] buffer, int size);
/**
* Save a class instance in the specified location. Invokes the operation in a new thread. This method is called by the
* DataStore when the communication layer receives a class file transfer
* DataStore when the communication layer receives a class file transfer
*
* @param buffer the bytes to insert in the class instance
* @param size the number of bytes to insert

View file

@ -1,17 +1,18 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2009 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
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.dstore.core.java;
@ -20,6 +21,7 @@ import java.io.Serializable;
/**
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IRemoteClassInstance extends Serializable
{

View file

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.dstore.extra
Bundle-Version: 2.1.0.qualifier
Bundle-Version: 2.1.100.qualifier
Bundle-Activator: org.eclipse.dstore.extra.Activator
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others.
* Copyright (c) 2002, 2009 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
@ -7,20 +7,22 @@
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types
* David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.dstore.extra;
/**
* For DataStore domain notification
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IDomainNotifier {
public void addDomainListener(IDomainListener listener);

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others.
* Copyright (c) 2006, 2009 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
@ -13,16 +13,17 @@
*
* Contributors:
* Uwe Stieber (Wind River) - Added system types provider extension.
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.core;
/**
* Interface for RSE core registry. Clients should use this interface as the
* starting point for querying and manipulating model objects in the RSE
* framework.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IRSECoreRegistry {
@ -32,24 +33,24 @@ public interface IRSECoreRegistry {
/**
* Returns all defined system types.
*
*
* @return an array of all defined system types.
*/
public IRSESystemType[] getSystemTypes();
/**
* Returns a system type object given the name.
*
*
* @param name the name of the system type
* @return the system type object with the given name, or <code>null</code> if none is found
*
*
* @deprecated Use {@link #getSystemTypeById(String)}.
*/
public IRSESystemType getSystemType(String name);
/**
* Returns a system type object given by the id.
*
*
* @param systemTypeId The system type id.
* @return The system type object with the given id, or <code>null</code> if none is found
*/

View file

@ -1,5 +1,5 @@
/*********************************************************************************
* Copyright (c) 2008 IBM Corporation. All rights reserved.
* Copyright (c) 2008, 2009 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
@ -7,6 +7,7 @@
* Contributors:
* David Dykstal (IBM) - [225988] need API to mark persisted profiles as migrated
* David Dykstal (IBM) - [226561] Add API markup to RSE Javadocs where extend / implement is allowed
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*********************************************************************************/
package org.eclipse.rse.core;
@ -17,6 +18,7 @@ package org.eclipse.rse.core;
*
* @since org.eclipse.rse.core 3.0
* @noimplement this interface is not intended to be implemented by clients
* @noextend This interface is not intended to be extended by clients.
*/
public interface IRSECoreStatusCodes {

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2006, 2009 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
@ -9,6 +9,7 @@
* David Dykstal (IBM) - updated with comments, removed keys that are not to be used globally
* David Dykstal (IBM) - [197167] adding notification and waiting for RSE model
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core;
@ -16,6 +17,7 @@ package org.eclipse.rse.core;
* These constants define the set of preference names that the RSE core uses.
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
/*
@ -57,7 +59,7 @@ public interface IRSEPreferenceNames {
* The key for the string containing the list of active user profiles in
* alphabetical order. As profiles are activated, deactivated, or renamed
* this string must be modified. This value is not part of the API.
*
*
* This field is not intended to be referenced by clients.
*/
public static final String ACTIVEUSERPROFILES = "activeuserprofiles"; //$NON-NLS-1$

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2000, 2009 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
@ -17,6 +17,7 @@
* Martin Oberhuber (Wind River) - [218655][api] Provide SystemType enablement info in non-UI
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [226574][api] Add ISubSystemConfiguration#supportsEncoding()
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core;
@ -32,11 +33,12 @@ import org.osgi.framework.Bundle;
* Interface for a system type. Constants are defined for various system types.
* These constants are kept in sync with definitions in plugin.xml.
* <p>
*
* @noimplement This interface is not intended to be implemented by clients.
* System type implementations must subclass
* {@link AbstractRSESystemType} rather than implementing this
* interface directly.
* </p>
* @noextend This interface is not intended to be extended by clients. System
* type implementations must subclass {@link AbstractRSESystemType}
* rather than implementing this interface directly.
* </p>
*/
public interface IRSESystemType extends IAdaptable {

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2006, 2009 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
@ -7,15 +7,17 @@
* Contributors:
* Kushal Munir (IBM) - Initial API and implementation.
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core;
/**
* These constants define the set of properties that the UI expects to be
* available via <code>IRSESystemType.getProperty(String)</code>.
*
*
* @see org.eclipse.rse.core.IRSESystemType#getProperty(String)
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IRSESystemTypeConstants {

View file

@ -1,17 +1,18 @@
/********************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation. All rights reserved.
* Copyright (c) 2000, 2009 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
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core;
@ -19,8 +20,9 @@ package org.eclipse.rse.core;
/**
* Constants for user id management. Used when specifying the scope of a user id
* when setting a user id.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IRSEUserIdConstants {

View file

@ -1,36 +1,42 @@
/********************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2002, 2009 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
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
* David Dykstal (IBM) - [186589] Move User Actions events to the user actions plugin
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.events;
/**
* The event IDs sent when local resources in the RSE model change.
* You should monitor for these events in your view if you display any of the resource types listed here.
* The event IDs sent when local resources in the RSE model change. You should
* monitor for these events in your view if you display any of the resource
* types listed here.
* <p>
* To monitor, implement interface {@link org.eclipse.rse.core.events.ISystemModelChangeListener} and
* call {@link org.eclipse.rse.core.model.ISystemRegistry#addSystemModelChangeListener(ISystemModelChangeListener)}
* and in your dispose method, call {@link org.eclipse.rse.core.model.ISystemRegistry#removeSystemModelChangeListener(ISystemModelChangeListener)}.
* To monitor, implement interface
* {@link org.eclipse.rse.core.events.ISystemModelChangeListener} and call
* {@link org.eclipse.rse.core.model.ISystemRegistry#addSystemModelChangeListener(ISystemModelChangeListener)}
* and in your dispose method, call
* {@link org.eclipse.rse.core.model.ISystemRegistry#removeSystemModelChangeListener(ISystemModelChangeListener)}.
* <p>
* If you are interesting in firing model change events, see
* {@link org.eclipse.rse.core.model.ISystemRegistry#fireModelChangeEvent(int, int, Object, String)}.
* These events will typically be signaled in an implementation of ISystemRegistry.
*
* {@link org.eclipse.rse.core.model.ISystemRegistry#fireModelChangeEvent(int, int, Object, String)}
* . These events will typically be signaled in an implementation of
* ISystemRegistry.
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISystemModelChangeEvents {

View file

@ -1,26 +1,28 @@
/********************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2002, 2009 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
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.events;
/**
* Interface of event ID constants for preferences changed
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISystemPreferenceChangeEvents {
/**

View file

@ -1,19 +1,20 @@
/********************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2002, 2009 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
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
* David McKnight (IBM) - [207100] Events for after a resource is downloaded and uploaded
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.events;
@ -21,14 +22,15 @@ package org.eclipse.rse.core.events;
/**
* The event IDs sent when remote resources in the model change These IDs are
* used when creating ISystemRemoteChangeEvent objects.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISystemRemoteChangeEvents
{
/**
* Event Type: a remote resource was added
*
*
* The event stores the following event parameters:
* <ul>
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
@ -45,7 +47,7 @@ public interface ISystemRemoteChangeEvents
/**
* Event Type: a remote resource was removed
*
*
* The event stores the following event parameters:
* <ul>
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
@ -62,7 +64,7 @@ public interface ISystemRemoteChangeEvents
/**
* Event Type: a remote resource was changed
*
*
* The event stores the following event parameters:
* <ul>
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
@ -79,7 +81,7 @@ public interface ISystemRemoteChangeEvents
/**
* Event Type: a remote resource was renamed
*
*
* The event stores the following event parameters:
* <ul>
* <li>resource - the remote resource object, or absolute name of the resource as would be given by calling getAbsoluteName on its remote adapter,
@ -97,7 +99,7 @@ public interface ISystemRemoteChangeEvents
/**
* Event Type: a remote resource was uploaded
*
*
* The event stores the following event parameters:
* <ul>
* <li>resource - the remote resource object, or absolute name of the
@ -111,14 +113,14 @@ public interface ISystemRemoteChangeEvents
* parent factory, and to connections with the same hostname as the
* subsystem's connection.
* </ul>
*
*
* @since org.eclipse.rse.core 3.0
*/
public static final int SYSTEM_REMOTE_RESOURCE_UPLOADED = 20;
/**
* Event Type: a remote resource was downloaded
*
*
* The event stores the following event parameters:
* <ul>
* <li>resource - the remote resource object, or absolute name of the
@ -132,43 +134,43 @@ public interface ISystemRemoteChangeEvents
* parent factory, and to connections with the same hostname as the
* subsystem's connection.
* </ul>
*
*
* @since org.eclipse.rse.core 3.0
*/
public static final int SYSTEM_REMOTE_RESOURCE_DOWNLOADED = 24;
/**
* Indicates that the event is for a delete operation
*
*
* @since org.eclipse.rse.core 3.0
*/
public static final String SYSTEM_REMOTE_OPERATION_DELETE = "DELETE"; //$NON-NLS-1$
/**
* Indicates that the event is for a rename operation
*
*
* @since org.eclipse.rse.core 3.0
*/
public static final String SYSTEM_REMOTE_OPERATION_RENAME = "RENAME"; //$NON-NLS-1$
/**
* Indicates that the event is for a create operation
*
*
* @since org.eclipse.rse.core 3.0
*/
public static final String SYSTEM_REMOTE_OPERATION_CREATE = "CREATE"; //$NON-NLS-1$
/**
* Indicates that the event is for a move operation
*
*
* @since org.eclipse.rse.core 3.0
*/
public static final String SYSTEM_REMOTE_OPERATION_MOVE = "MOVE"; //$NON-NLS-1$
/**
* Indicates that the event is for a copy operation
*
*
* @since org.eclipse.rse.core 3.0
*/
public static final String SYSTEM_REMOTE_OPERATION_COPY = "COPY"; //$NON-NLS-1$

View file

@ -1,18 +1,19 @@
/********************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2002, 2009 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
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.events;
@ -21,8 +22,9 @@ import org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier;
/**
* Interface of event ID constants
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISystemResourceChangeEvents
{
@ -141,40 +143,40 @@ public interface ISystemResourceChangeEvents
/**
* Refresh the single item passed in the "source" field of the event.
*
*
* All expanded sub-nodes are re-queried for their children, unexpanded
* nodes lose their children cache. Selection is not maintained by this
* event (use EVENT_REFRESH_REMOTE instead to maintain the selection).
*
*
* A source RSE object to refresh is the expected parameter
*/
public static final int EVENT_REFRESH = 82;
/**
* Refresh the items currently selected in the SystemView.
*
*
* All expanded sub-nodes are re-queried for their children, unexpanded nodes
* lose their children cache. After refreshing, selection of the currently selected
* elements is restored if possible (in case an absoluteName is available).
*
*
* In case any of the selected items is a leaf node, the parent of that
* leaf node is refreshed rather than the leaf node itself. In this particular
* case, a multiselect is not considered properly.
*
*
* The SystemScratchpadView also listens to this event and refreshes those
* elements that are selected in it.
*
*
* @deprecated obtain the selection yourself and do EVENT_REFRESH or EVENT_REFRESH_REMOTE
*/
public static final int EVENT_REFRESH_SELECTED = 83;
/**
* Refresh the parent of the first item currently selected in the SystemView.
*
*
* This only refreshes the parent TreeItem of the first item in the selection.
* It does not consider multiselect, multiple occurrences of the Item under multiple
* filters, and does not maintain the current selection.
*
*
* @deprecated obtain the selection yourself and do EVENT_REFRESH or EVENT_REFRESH_REMOTE
*/
public static final int EVENT_REFRESH_SELECTED_PARENT = 84;
@ -182,12 +184,12 @@ public interface ISystemResourceChangeEvents
/**
* Refresh the filter under which the first item currently selected in the
* SystemView is found.
*
*
* From the filter level, all expanded sub-nodes are re-queried
* for their children, unexpanded nodes lose their children cache.
* After refreshing, selection of the currently selected elements
* is restored if possible. Multiselect is not considered properly.
*
*
* @deprecated Refreshing a particular context(filter) only can lead
* to inconsistencies, so better obtain the selection yourself
* and do EVENT_REFRESH or EVENT_REFRESH_REMOTE
@ -198,7 +200,7 @@ public interface ISystemResourceChangeEvents
* Refresh a remote object in the SystemView, given either the remote
* object or a string that will match on getAbsoluteName, and optionally
* (re)select a list of objects after refreshing.
*
*
* An object is considered remote if it has an adapter that implements
* {@link ISystemViewElementAdapter} where the adapter returns true for
* the isRemote(Object) call. This method refreshes all occurrences of
@ -212,7 +214,7 @@ public interface ISystemResourceChangeEvents
* will be selected after the refresh. When passing a string, it must be
* the result of {@link IRemoteObjectIdentifier#getAbsoluteName(Object)}
* on the adapter.
*
*
* A remote RSE object is the expected source parameter
*/
public static final int EVENT_REFRESH_REMOTE = 85;
@ -272,7 +274,7 @@ public interface ISystemResourceChangeEvents
/**
* Select one or more remote objects.
*
*
* The "src" parameter holds a remote object, or string, or Vector of
* objects or strings. When passing a string, it must be the result of
* {@link IRemoteObjectIdentifier#getAbsoluteName(Object)}
@ -318,7 +320,7 @@ public interface ISystemResourceChangeEvents
/**
* The event is to update the command history drop-down in the remote shell view
* A source RSE object is the expected parameter
*
*
* TODO should be moved out of core since this is command-specific
*/
public static final int EVENT_COMMAND_HISTORY_UPDATE = 130;

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2009 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
@ -14,17 +14,21 @@
* David Dykstal (IBM) - added javadoc
* David Dykstal (IBM) - [150939] added read-only attribute
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.model;
/**
* Properties are contained in property sets ({@link IPropertySet}) and may be associated with objects that
* implement {@link IPropertySetContainer}. These would typically be model objects.
* Properties also have a type (see {@link IPropertyType}).
* Properties are contained in property sets ({@link IPropertySet}) and may be
* associated with objects that implement {@link IPropertySetContainer}. These
* would typically be model objects. Properties also have a type (see
* {@link IPropertyType}).
*
* @see IRSEModelObject
* @noimplement This interface is not intended to be implemented by clients.
* Use {@link Property} directly.
* @noextend This interface is not intended to be extended by clients. Use
* {@link Property} directly.
*/
public interface IProperty {

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others.
* Copyright (c) 2006, 2009 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
@ -15,6 +15,7 @@
* Martin Oberhuber (Wind River) - Added Javadoc.
* David McKnight (IBM) - [217715] [api] RSE property sets should support nested property sets
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.core.model;
@ -22,18 +23,20 @@ package org.eclipse.rse.core.model;
import java.util.Map;
/**
* A Property Set stores key/value pairs, where the keys
* are Strings and the values are an {@link IProperty},
* of a type declared by an {@link IPropertyType}.
* A Property Set stores key/value pairs, where the keys are Strings and the
* values are an {@link IProperty}, of a type declared by an
* {@link IPropertyType}.
*
* The Property Set is identified by a name.
* By default, the type of each property is of type String, and
* in fact each value can be retrieved in String representation.
* The Property Set is identified by a name. By default, the type of each
* property is of type String, and in fact each value can be retrieved in String
* representation.
*
* The key <code>"description"</code> is reserved for internal use, to store the
* description of the Property set.
*
* The key <code>"description"</code> is reserved for internal
* use, to store the description of the Property set.
* @noimplement This interface is not intended to be implemented by clients.
* Use {@link PropertySet} directly.
* @noextend This interface is not intended to be extended by clients. Use
* {@link PropertySet} directly.
*/
public interface IPropertySet extends IPropertySetContainer {
/**
@ -168,7 +171,7 @@ public interface IPropertySet extends IPropertySetContainer {
/**
* Sets the container of this property set. Used to notify the container of
* a change in a property.
*
*
* @param container the property set container
*/
public void setContainer(IPropertySetContainer container);

View file

@ -1,29 +1,32 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2009 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
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David Dykstal (IBM) - added javadoc
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.model;
/**
* Property types are used to type instances of {@link IProperty}.
* Property types are used to type instances of {@link IProperty}.
*
* @noimplement This interface is not intended to be implemented by clients.
* Use {@link PropertyType} directly.
* @noextend This interface is not intended to be extended by clients. Use
* {@link PropertyType} directly.
*/
public interface IPropertyType {
public static final int TYPE_STRING = 0;
public static final int TYPE_INTEGER = 1;
public static final int TYPE_ENUM = 2;
@ -48,7 +51,7 @@ public interface IPropertyType {
* @return true if the property is of TYPE_BOOLEAN
*/
public boolean isBoolean();
/**
* @return the integer value of the property type
*/

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
* Copyright (c) 2000, 2009 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
@ -13,17 +13,19 @@
*
* Contributors:
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.core.model;
/**
* Constants for predefined subsystem factory categories. Use these in calls to
* {@link org.eclipse.rse.core.model.ISystemRegistry#getHostsBySubSystemConfigurationCategory(String)}.
*
* {@link org.eclipse.rse.core.model.ISystemRegistry#getHostsBySubSystemConfigurationCategory(String)}
* . This is a constant interface. The individual items should be referenced
* directly.
*
* @noimplement This interface is not intended to be implemented by clients.
* This is a constant interface. The individual items should be
* referenced directly.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISubSystemConfigurationCategories {
/**

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others.
* Copyright (c) 2002, 2009 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
@ -7,20 +7,24 @@
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.core.model;
/**
* This interface represents a message we wish to display as child node in the tree view.
* This interface represents a message we wish to display as child node in the
* tree view.
*
* @noimplement This interface is not intended to be implemented by clients.
* The standard implementations are included in the framework.
* @noextend This interface is not intended to be extended by clients. The
* standard implementations are included in the framework.
*/
public interface ISystemMessageObject {
/**
@ -68,9 +72,9 @@ public interface ISystemMessageObject {
public Object getParent();
/**
* isTransient determines if the message should be removed from the
* isTransient determines if the message should be removed from the
* tree when the parent item in the tree is collapsed.
*
*
* @return true if the item should be removed, false if it should not
*/
public boolean isTransient();

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others.
* Copyright (c) 2002, 2009 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
@ -7,19 +7,20 @@
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David Dykstal (IBM) - 142806: refactoring persistence framework
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
* David Dykstal (IBM) - [197036] removed createHost() shortcut (should use ISystemRegistry),
* cleaned javadoc for getFilterPools()
* David Dykstal (IBM) - [197036] removed createHost() shortcut (should use ISystemRegistry),
* cleaned javadoc for getFilterPools()
* David Dykstal (IBM) - [202630] getDefaultPrivateProfile() and ensureDefaultPrivateProfile() are inconsistent
* David Dykstal (IBM) - [200735][Persistence] Delete a profile that contains a connection and restart, profile is back without connections
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* David Dykstal (IBM) - [235800] Document naming restriction for profiles and filter pools
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.core.model;
@ -29,18 +30,19 @@ import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
import org.eclipse.rse.persistence.IRSEPersistenceProvider;
/**
* A system profile holds definitions for hosts
* (connections), filter pools, filters, and filter strings.
* It is the unit of persistence for those definitions. Individual
* hosts and filter pool definitions always reside in a profile and the profile
* itself is the entity that is saved and restored.
* A system profile holds definitions for hosts (connections), filter pools,
* filters, and filter strings. It is the unit of persistence for those
* definitions. Individual hosts and filter pool definitions always reside in a
* profile and the profile itself is the entity that is saved and restored.
* <p>
* Profiles may be active or inactive. An active profile contributes its
* definitions to RSE. When made inactive, it those definition are no longer
* definitions to RSE. When made inactive, it those definition are no longer
* available for use.
* <p>
*
* @noimplement This interface is not intended to be implemented by clients.
* The standard implementations are included in the framework.
* @noextend This interface is not intended to be extended by clients. The
* standard implementations are included in the framework.
*/
public interface ISystemProfile extends IRSEModelObject {
@ -76,7 +78,7 @@ public interface ISystemProfile extends IRSEModelObject {
boolean isDefaultPrivate();
/**
* @generated This field/method will be replaced during code generation
* @generated This field/method will be replaced during code generation
* @param value The new value of the DefaultPrivate attribute
*/
void setDefaultPrivate(boolean value);
@ -103,20 +105,20 @@ public interface ISystemProfile extends IRSEModelObject {
* The active state of a profile is remembered from session to session.
*/
public boolean isActive();
/**
* Activates or deactivates a profile. If the profile is already in the
* requested state, this will do nothing. The default private system profile
* requested state, this will do nothing. The default private system profile
* cannot be deactivated and such a request will be ignored.
* @param flag true to activate the profile, false to deactivate it.
* @see ISystemProfile#isActive()
*/
public void setActive(boolean flag);
/**
* Suspend this profile.
* Suspended profiles ignore commit requests.
* Profiles are created in a non-suspended state.
* Profiles are created in a non-suspended state.
* Profiles should be suspended while deleting their contents prior to their own deletion.
* Note that being non-suspended is a different condition than being active.
* A suspended profile may be resumed.
@ -124,7 +126,7 @@ public interface ISystemProfile extends IRSEModelObject {
* @see #resume()
*/
public void suspend();
/**
* Resume this profile from a suspended state.
* The profile will now honor commit requests.
@ -140,21 +142,21 @@ public interface ISystemProfile extends IRSEModelObject {
* @see #resume()
*/
public boolean isSuspended();
/**
* Each profile is persisted by a persistence provider. This returns the instance of the
* Each profile is persisted by a persistence provider. This returns the instance of the
* persistence provider used for this profile. New profiles will use the default persistence
* provider unless one is set by some other means.
* @return The persistence provider used for saving and restoring this profile.
*/
public IRSEPersistenceProvider getPersistenceProvider();
/**
* Sets the persistence provider for the use of this profile. If this is not called then
* this profile will be persisted by the default persistence provider. This will typically
* be set by either a persistence persistence provider when restoring a profile or by a migration
* utility when converting profiles from one form to another.
* @param provider the persistence provider to use when saving this profile.
* @param provider the persistence provider to use when saving this profile.
*/
public void setPersistenceProvider(IRSEPersistenceProvider provider);
}

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others.
* Copyright (c) 2002, 2009 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
@ -10,12 +10,13 @@
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David Dykstal (IBM) - [197036] added commitSystemProfile operation to interface
* David Dykstal (IBM) - [202630] getDefaultPrivateProfile() and ensureDefaultPrivateProfile() are inconsistent
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.core.model;
@ -27,9 +28,10 @@ import org.eclipse.core.runtime.IStatus;
* deleted, restored, activated, and deactivated though this interface if event
* processing is not desired. If events are necessary then the system registry
* should be used.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* The standard implementations are included in the framework.
* @noextend This interface is not intended to be extended by clients. The
* standard implementations are included in the framework.
*/
public interface ISystemProfileManager {
@ -121,7 +123,7 @@ public interface ISystemProfileManager {
/**
* Commit a system profile
*
*
* @param profile the profile to commit
* @return a status object indicating the result of the commit
* @since org.eclipse.rse.core 3.0

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2006, 2009 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
@ -30,6 +30,7 @@
* David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement
* David Dykstal (IBM) - [235800] Document naming restriction for profiles and filter pools
* David Dykstal (IBM) - [236516] Bug in user code causes failure in RSE initialization
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.model;
@ -65,8 +66,10 @@ import org.eclipse.rse.internal.core.RSECoreRegistry;
* there is a user-specified number of profiles "active" and connections from
* each active profile are worked with.
* </p>
*
* @noimplement This interface is not intended to be implemented by clients.
* The standard implementations are included in the framework.
* @noextend This interface is not intended to be extended by clients. The
* standard implementations are included in the framework.
*/
public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemViewInputProvider {
@ -112,14 +115,14 @@ public interface ISystemRegistry extends ISchedulingRule, IAdaptable, ISystemVie
* equivalent to getSubSystemConfigurationsBySystemType(systemType,
* filterDuplicates, <code>true</code>) which is preferred since we do not
* want to load subsystem configurations unless necessary.
*
*
* @param systemType system type to filter
* @param filterDuplicates if true and the subsystem configuration uses
* services then return only one subsystem configuration that
* supports this service. Which configuration is returned is
* undefined.
* @return an array of subsystem configurations meeting the criteria
*
*
* @deprecated Use
* {@link #getSubSystemConfigurationsBySystemType(IRSESystemType,boolean,boolean)}
* instead in order to avoid instantiating subsystem

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
* Copyright (c) 2000, 2009 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
@ -10,17 +10,19 @@
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.core.subsystems;
/**
* Constants used in the remote file system support.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IFileConstants {

View file

@ -1,26 +1,28 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2006, 2009 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
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David Dykstal (IBM) - 168977: refactoring IConnectorService and ServerLauncher hierarchies
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.core.subsystems;
/**
* This interface defines constants for the Remote Server Launcher.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface RemoteServerLauncherConstants
{

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others.
* Copyright (c) 2002, 2009 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
@ -10,23 +10,23 @@
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* David Dykstal (IBM) - removed RESOURCE_TEAMPROFILE_NAME
* David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.internal.core;
/**
* Constants related to project and folder names.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface SystemResourceConstants
{
public static final String RESOURCE_PROJECT_NAME = "RemoteSystemsConnections"; //$NON-NLS-1$
public static final String RESOURCE_TEMPFILES_PROJECT_NAME= "RemoteSystemsTempFiles"; //$NON-NLS-1$
public static final String RESOURCE_CONNECTIONS_FOLDER_NAME = "Connections"; //$NON-NLS-1$

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others.
* Copyright (c) 2006, 2009 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
@ -10,18 +10,20 @@
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags
* David Dykstal (IBM) - add attribute name for filter type
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.persistence.dom;
/**
* Constants used in RSE DOMs.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IRSEDOMConstants {
// node types

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others.
* Copyright (c) 2002, 2009 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
@ -10,17 +10,18 @@
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* {Name} (company) - description of contribution.
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.files.ui.resources;
/**
* This interface defines a remote path.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISystemRemotePath {

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2009 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
@ -12,6 +12,7 @@
*
* Contributors:
* David McKnight (IBM) - [247573][api] IClassifierConstants.TYPE_LINK == "link" is not in sync with actual usage of "symbolic link" in the code
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.services.clientserver;
@ -20,6 +21,7 @@ package org.eclipse.rse.services.clientserver;
* This interface defines some constants for classifiers.
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface IClassifierConstants {

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2002, 2008 IBM Corporation and others.
* Copyright (c) 2002, 2009 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
@ -7,60 +7,66 @@
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* {Name} (company) - description of contribution.
* Kevin Doyle (IBM) - [242431] Register a new unique context menu id, so contributions can be made to all our views
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.rse.ui;
import org.eclipse.ui.IWorkbenchActionConstants;
/**
* Constants defining our groups inside our right-click popup menu in the system view.
* <pre><code>
* Constants defining our groups inside our right-click popup menu in the system
* view.
*
* <pre>
* &lt;code&gt;
* // simply sets partitions in the menu, into which actions can be directed.
* // Each partition can be delimited by a separator (new Separator) or not (new GroupMarker).
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_NEW)); // new->
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_GOTO)); // goto into, go->
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_EXPANDTO)); // expand to->
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_EXPAND)); // expand, collapse
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_OPEN)); // open xxx
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_OPENWITH)); // open with->
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_BROWSEWITH)); // open with->
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_WORKWITH)); // work with->
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_BUILD)); // build, rebuild, refresh
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_CHANGE)); // update, change
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_REORGANIZE)); // rename,move,copy,delete,bookmark,refactoring
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_REORDER)); // move up, move down
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_GENERATE)); // getters/setters, etc. Typically in editor
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_SEARCH)); // search
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_CONNECTION)); // connection-related actions
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_IMPORTEXPORT)); // get or put actions
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_ADAPTERS)); // actions queried from adapters
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_ADDITIONS)); // user or BP/ISV additions
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_TEAM)); // Team
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_PROPERTIES)); // Properties
* </code></pre>
*
* // Each partition can be delimited by a separator (new Separator) or not (new GroupMarker).
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_NEW)); // new-&gt;
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_GOTO)); // goto into, go-&gt;
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_EXPANDTO)); // expand to-&gt;
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_EXPAND)); // expand, collapse
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_OPEN)); // open xxx
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_OPENWITH)); // open with-&gt;
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_BROWSEWITH)); // open with-&gt;
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_WORKWITH)); // work with-&gt;
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_BUILD)); // build, rebuild, refresh
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_CHANGE)); // update, change
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_REORGANIZE)); // rename,move,copy,delete,bookmark,refactoring
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_REORDER)); // move up, move down
* menu.add(new GroupMarker(ISystemContextMenuConstants.GROUP_GENERATE)); // getters/setters, etc. Typically in editor
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_SEARCH)); // search
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_CONNECTION)); // connection-related actions
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_IMPORTEXPORT)); // get or put actions
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_ADAPTERS)); // actions queried from adapters
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_ADDITIONS)); // user or BP/ISV additions
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_TEAM)); // Team
* menu.add(new Separator(ISystemContextMenuConstants.GROUP_PROPERTIES)); // Properties
* &lt;/code&gt;
* </pre>
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISystemContextMenuConstants
{
/**
* Context menu id used by all RSE views, such that menu's can be contributed
* to all views.
*
* RSE Views: Remote Systems, Remote System Details, Remote Monitor, Remote Search, and Remote Scratchpad
* Note: This does does not work with dialog's which have the SystemView
* Note: This does does not work with dialog's which have the SystemView
* embedded in them.
* @since 3.1
*/
public static final String RSE_CONTEXT_MENU = "org.eclipse.rse.views.common"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for goto actions (value <code>"group.goto"</code>).
* <p>
@ -80,7 +86,7 @@ public interface ISystemContextMenuConstants
* ID of the submenu for "Preferences->"
*/
public static final String MENU_PREFERENCES= "menu.preferences"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for open-with actions (value <code>"group.openwith"</code>).
* <p>
@ -101,12 +107,12 @@ public interface ISystemContextMenuConstants
* Group name for the "Browse With" submenu
*/
public static final String GROUP_BROWSEWITH= "group.browsewith"; //$NON-NLS-1$
/**
* Group name for the "Compare With" submenu
*/
public static final String GROUP_COMPAREWITH= "group.comparewith"; //$NON-NLS-1$
/**
* Group name for the "Replace With" submenu
*/
@ -156,7 +162,7 @@ public interface ISystemContextMenuConstants
* ID of the submenu for "Open To->"
*/
public static final String MENU_OPENTO= "menu.opento"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for work-with actions (value <code>"group.workwith"</code>).
* <p>
@ -195,7 +201,7 @@ public interface ISystemContextMenuConstants
* </p>
*/
public static final String GROUP_SHOW= "group.show"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for new actions (value <code>"group.new"</code>).
* This is a cascading group.
@ -221,19 +227,19 @@ public interface ISystemContextMenuConstants
* </p>
*/
public static final String GROUP_NEW_NONCASCADING="group.new.noncascade"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for build actions (value <code>"group.build"</code>).
*/
public static final String GROUP_BUILD= "group.build"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for reorganize actions (value <code>"group.reorganize"</code>).
*/
*/
public static final String GROUP_REORGANIZE= "group.reorganize"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for reorder actions like move up/down(value <code>"group.reorder"</code>).
*/
*/
public static final String GROUP_REORDER= "group.reorder"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for CHANGE actions. (value <code>"group.change"</code>).
@ -247,31 +253,31 @@ public interface ISystemContextMenuConstants
* </p>
*/
public static final String GROUP_CHANGE = "group.change"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for code generation or refactoring actions (
* value <code>"group.generate"</code>).
*/
*/
public static final String GROUP_GENERATE= "group.generate"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for search actions (value <code>"group.search"</code>).
*/
*/
public static final String GROUP_SEARCH= "group.search"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for additional actions (value <code>"group.additions"</code>).
*/
*/
public static final String GROUP_ADDITIONS= IWorkbenchActionConstants.MB_ADDITIONS; //"additions";
/**
* Pop-up menu: name of group for viewer setup actions (value <code>"group.viewerSetup"</code>).
*/
*/
public static final String GROUP_VIEWER_SETUP= "group.viewerSetup"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for properties actions (value <code>"group.properties"</code>).
*/
*/
public static final String GROUP_PROPERTIES= "group.properties"; //$NON-NLS-1$
/**
* Pop-up menu: name of group for actions contributed by the adaptors for the selected object, which

View file

@ -1,21 +1,22 @@
/********************************************************************************
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
* Copyright (c) 2006, 2009 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
*
*
* Initial Contributors:
* The following IBM employees contributed to the Remote System Explorer
* component that contains this file: David McKnight, Kushal Munir,
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
*
* Contributors:
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
* Martin Oberhuber (Wind River) - [189123] Prepare ISystemRegistry for move into non-UI
* Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core
* Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
********************************************************************************/
package org.eclipse.rse.ui.model;
@ -31,8 +32,9 @@ import org.eclipse.swt.widgets.Shell;
/**
* Registry and control center for RSE UI related operations.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISystemRegistryUI extends ISystemShellProvider {

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
* Copyright (c) 2006, 2009 Wind River Systems, Inc. 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
@ -8,6 +8,7 @@
* Contributors:
* Michael Scharf (Wind River) - initial API and implementation
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.tm.internal.terminal.provisional.api;
@ -17,15 +18,14 @@ import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl;
/**
* A contributed connection type to manage a single connection.
*
* Implementations of this class are contributed through the
* <code>org.eclipse.tm.terminal.terminalConnectors</code> extension point.
* This class gives access to the static markup of a terminal connector
* extension as well as providing the lifecycle management for the dynamically
* loaded {@link TerminalConnectorImpl} instance, which performs the actual
* <code>org.eclipse.tm.terminal.terminalConnectors</code> extension point. This
* class gives access to the static markup of a terminal connector extension as
* well as providing the lifecycle management for the dynamically loaded
* {@link TerminalConnectorImpl} instance, which performs the actual
* communications. This pattern allows for lazy initialization, bundle
* activation and class loading of the actual {@link TerminalConnectorImpl}
* instance.
@ -36,13 +36,14 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect
* active terminal widget.
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*
* @author Michael Scharf
* <p>
* <strong>EXPERIMENTAL</strong>. This class or interface has been
* added as part of a work in progress. There is no guarantee that this
* API will work or that it will remain the same. Please do not use this
* API without consulting with the <a
* <strong>EXPERIMENTAL</strong>. This class or interface has been added
* as part of a work in progress. There is no guarantee that this API
* will work or that it will remain the same. Please do not use this API
* without consulting with the <a
* href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
* </p>
*/
@ -128,7 +129,7 @@ public interface ITerminalConnector extends IAdaptable {
* FIXME should not have UI related stuff in ITerminalConnector, since
* connectors may be totally programmatic and UI-less. Better make the
* connector adapt to an interface that controls the UI aspect.
*
*
* @return a new page that can be used in a dialog to setup this connection.
* The dialog should persist its settings with the
* {@link #load(ISettingsStore)} and {@link #save(ISettingsStore)}

View file

@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
* Copyright (c) 2006, 2009 Wind River Systems, Inc. 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
@ -9,6 +9,7 @@
* Michael Scharf (Wind River) - initial API and implementation
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
* Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.tm.internal.terminal.provisional.api;
@ -20,15 +21,15 @@ import org.eclipse.swt.widgets.Shell;
/**
* Represents the terminal view as seen by a terminal connection.
* <p>
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as
* part of a work in progress. There is no guarantee that this API will work or
* that it will remain the same. Please do not use this API without consulting
* with the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a>
* team.
* <strong>EXPERIMENTAL</strong>. This class or interface has been added as part
* of a work in progress. There is no guarantee that this API will work or that
* it will remain the same. Please do not use this API without consulting with
* the <a href="http://www.eclipse.org/dsdp/tm/">Target Management</a> team.
* </p>
*
* @author Michael Scharf
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ITerminalControl {
@ -79,7 +80,7 @@ public interface ITerminalControl {
* setEncoding() call failed and the fallback default encoding should be
* queried, such that e.g. a combobox with encodings to choose can be
* properly initialized.
*
*
* @return the current Encoding of the Terminal.
* @since org.eclipse.tm.terminal 2.0
*/

View file

@ -1,24 +1,26 @@
/*******************************************************************************
* Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
* Copyright (c) 2007, 2009 Wind River Systems, Inc. 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:
* Michael Scharf (Wind River) - initial API and implementation
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.tm.terminal.model;
/**
* A writable matrix of characters and {@link Style}. This is intended to be
* the low level representation of the text of a Terminal. Higher layers are
* A writable matrix of characters and {@link Style}. This is intended to be the
* low level representation of the text of a Terminal. Higher layers are
* responsible to fill the text and styles into this representation.
* <p>
* <b>Note: </b> Implementations of this interface has to be thread safe.
* </p>
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ITerminalTextData extends ITerminalTextDataReadOnly {
@ -95,7 +97,7 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly {
* 3 dddd
* 4 eeee
* </pre>
*
*
* Shift a region of 3 lines <b>up</b> by one line <code>shift(1,3,-1)</code>
* <pre>
* 0 aaaa
@ -104,8 +106,8 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly {
* 3
* 4 eeee
* </pre>
*
*
*
*
* Shift a region of 3 lines <b>down</b> by one line <code>shift(1,3,1)</code>
* <pre>
* 0 aaaa

View file

@ -1,16 +1,20 @@
/*******************************************************************************
* Copyright (c) 2007 Wind River Systems, Inc. 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:
* Copyright (c) 2007, 2009 Wind River Systems, Inc. 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:
* Michael Scharf (Wind River) - initial API and implementation
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.tm.terminal.model;
/**
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ITerminalTextDataReadOnly {
/**
@ -50,14 +54,14 @@ public interface ITerminalTextDataReadOnly {
* can be used to track changes. Make sure to call {@link ITerminalTextDataSnapshot#detach()}
* if you don't need the snapshots anymore.
* <p><b>Note: </b>A new snapshot is empty and needs a call to {@link ITerminalTextDataSnapshot#updateSnapshot(boolean)} to
* get its initial values. You might want to setup the snapshot to your needs by calling
* get its initial values. You might want to setup the snapshot to your needs by calling
* {@link ITerminalTextDataSnapshot#setInterestWindow(int, int)}.
* </p>
* @return a new instance of {@link ITerminalTextDataSnapshot} that "listens" to changes of
* <code>this</code>.
*/
public ITerminalTextDataSnapshot makeSnapshot();
char[] getChars(int line);
Style[] getStyles(int line);

View file

@ -1,12 +1,13 @@
/*******************************************************************************
* Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
* Copyright (c) 2007, 2009 Wind River Systems, Inc. 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:
* Michael Scharf (Wind River) - initial API and implementation
* Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
*******************************************************************************/
package org.eclipse.tm.terminal.model;
@ -18,32 +19,32 @@ package org.eclipse.tm.terminal.model;
* {@link ITerminalTextData} might get modified by another thread. Suppose you
* would want to draw the content of the {@link ITerminalTextData} using the
* following loop:
*
*
* <pre>
* for (int line = 0; line &lt; term.getHeight(); line++)
* for (int column = 0; column &lt; term.getWidth(); column++)
* drawCharacter(column, line, term.getChar(column, line), term.getStyle(column, line));
* </pre>
*
*
* This might fail because the background thread could change the dimensions of
* the {@link ITerminalTextData} while you iterate the loop. One solution would
* be to put a <code>synchronized(term){}</code> statement around the code.
* This has two problems: 1. you would have to know about the internals of the
* be to put a <code>synchronized(term){}</code> statement around the code. This
* has two problems: 1. you would have to know about the internals of the
* synchronisation of {@link ITerminalTextData}. 2. The other thread that
* changes {@link ITerminalTextData} is blocked while the potentially slow
* drawing is done.
* <p>
* <b>Solution:</b> Take a snapshot of the terminal and use the snapshot to
* draw the content. There is no danger that the data structure get changed
* while you draw. There are also methods to find out what has changed to
* minimize the number of lines that get redrawn.
* <b>Solution:</b> Take a snapshot of the terminal and use the snapshot to draw
* the content. There is no danger that the data structure get changed while you
* draw. There are also methods to find out what has changed to minimize the
* number of lines that get redrawn.
* </p>
*
*
* <p>
* <b>Drawing optimization</b>: To optimize redrawing of changed lines, this
* class keeps track of lines that have changed since the previous snapshot.
* </p>
*
*
* <pre>
* // iterate over the potentially changed lines
* for (int line = snap.getFirstChangedLine(); line &lt;= snap.getLastChangedLine(); line++)
@ -52,16 +53,16 @@ package org.eclipse.tm.terminal.model;
* for (int column = 0; column &lt; snap.getWidth(); column++)
* drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
* </pre>
*
*
* <p>
* <b>Scroll optimization:</b> Often new lines are appended at the bottom of
* the terminal and the rest of the lines are scrolled up. In this case all
* lines would be marked as changed. To optimize for this case,
* {@link #updateSnapshot(boolean)} can be called with <code>true</code> for
* the <code>detectScrolling</code> parameter. The object will keep track of
* <b>Scroll optimization:</b> Often new lines are appended at the bottom of the
* terminal and the rest of the lines are scrolled up. In this case all lines
* would be marked as changed. To optimize for this case,
* {@link #updateSnapshot(boolean)} can be called with <code>true</code> for the
* <code>detectScrolling</code> parameter. The object will keep track of
* scrolling. The UI must <b>first</b> handle the scrolling and then use the
* {@link #hasLineChanged(int)} method to determine scrolling:
*
*
* <pre>
* // scroll the visible region of the UI &lt;b&gt;before&lt;/b&gt; drawing the changed lines.
* doUIScrolling(snap.getScrollChangeY(), snap.getScrollChangeN(), snap.getScrollChangeShift());
@ -72,14 +73,16 @@ package org.eclipse.tm.terminal.model;
* for (int column = 0; column &lt; snap.getWidth(); column++)
* drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
* </pre>
*
* </p>
* <p>
* <b>Threading Note</b>: This class is not thread safe! All methods have to be
* called by the a same thread, that created the instance by calling
* {@link ITerminalTextDataReadOnly#makeSnapshot()}.
* </p>
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly {
/**
@ -92,7 +95,7 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly {
* A typical terminal view would not update the snapshot immediately
* after the {@link #snapshotOutOfDate(ITerminalTextDataSnapshot)} has been called. It would introduce a
* delay to update the UI (and the snapshot} 10 or 20 times per second.
*
*
* <p>Make sure you don't spend too much time in this method.
*/
interface SnapshotOutOfDateListener {
@ -146,10 +149,10 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly {
/**
* @return The first line changed in this snapshot compared
* to the previous snapshot.
*
*
* <p><b>Note:</b> If no line has changed, this
* returns {@link Integer#MAX_VALUE}
*
*
* <p><b>Note:</b> if {@link #updateSnapshot(boolean)} has been called with <code>true</code>,
* then this does not include lines that only have been scrolled. This is the
* first line that has changed <b>after</b> the scroll has been applied.
@ -161,13 +164,13 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly {
* to the previous snapshot. If the height has changed since the
* last update of the snapshot, then the returned value is within
* the new dimensions.
*
*
* <p><b>Note:</b> If no line has changed, this returns <code>-1</code>
*
*
* <p><b>Note:</b> if {@link #updateSnapshot(boolean)} has been called with <code>true</code>,
* then this does not include lines that only have been scrolled. This is the
* last line that has changed <b>after</b> the scroll has been applied.
*
*
* <p>A typical for loop using this method would look like this (note the <code>&lt;=</code> in the for loop):
* <pre>
* for(int line=snap.{@link #getFirstChangedLine()}; line <b>&lt;=</b> snap.getLastChangedLine(); line++)