1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-17 05:55:22 +02:00

[cleanup] Fix deprecated references

This commit is contained in:
Martin Oberhuber 2008-04-25 13:54:07 +00:00
parent a9f710ebd4
commit 8cb70a58ba

View file

@ -1,5 +1,5 @@
/******************************************************************************** /********************************************************************************
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved. * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
* This program and the accompanying materials are made available under the terms * 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 * available at http://www.eclipse.org/legal/epl-v10.html
@ -16,98 +16,96 @@
package org.eclipse.rse.core.subsystems; package org.eclipse.rse.core.subsystems;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.rse.services.search.IHostSearchResult; import org.eclipse.rse.services.search.IHostSearchResult;
/** /**
* Interface that remote objects must implement in order to be * Interface that remote objects must implement in order to be identifiable for
* identifiable for drag and drop, clipboard support, and finding * drag and drop, clipboard support, and finding multiple occurrences of the
* multiple occurrences of the same remote object in different * same remote object in different contexts in the SystemView.
* contexts in the SystemView.
* <p> * <p>
* This is the functional opposite of {@link IRemoteObjectResolver}. * This is the functional opposite of {@link IRemoteObjectResolver}.
* </p> * </p>
* *
* @see IRemoteObjectIdentifier * @see IRemoteObjectResolver
*/ */
public interface IRemoteObjectIdentifier { public interface IRemoteObjectIdentifier {
/** /**
* Return a String ID for the given remote object, that is unique * Return a String ID for the given remote object, that is unique within the
* within the subsystem. * subsystem.
* <p> * <p>
* This must be implemented by subsystem element adapters in order to * This must be implemented by subsystem element adapters in order to
* marshal a reference to the remote object for drag and drop, and * marshal a reference to the remote object for drag and drop, and clipboard
* clipboard support. It is also used for uniquely identifying * support. It is also used for uniquely identifying objects with changing
* objects with changing properties in the SystemView. This method * properties in the SystemView. This method is the functional opposite of
* is the functional opposite of * {@link IRemoteObjectResolver#getObjectWithAbsoluteName(String, IProgressMonitor)}.
* {@link IRemoteObjectResolver#getObjectWithAbsoluteName(String)}. * </p>
* </p><p> * <p>
* The unique ID for an object must remain the same over the entire * The unique ID for an object must remain the same over the entire lifetime
* lifetime of that object, such that it can always be identified. * of that object, such that it can always be identified. When an object is
* When an object is renamed, it should be removed from the views * renamed, it should be removed from the views with the old ID and then
* with the old ID and then re-added with the new ID. This is * re-added with the new ID. This is especially important for the
* especially important for the SystemView, where the String ID * SystemView, where the String ID is used for finding multiple occurrences
* is used for finding multiple occurrences of the same remote * of the same remote resource in different contexts during refresh events.
* resource in different contexts during refresh events. In this * In this case, the String ID can be used to find the remote object even if
* case, the String ID can be used to find the remote object even * its hashCode changes due to updated properties. So even if a subsystem
* if its hashCode changes due to updated properties. * does not support drag and drop, or clipboard operations, it does need to
* So even if a subsystem does not support drag and drop, or * return unique IDs for its object to support refresh in the SystemView.
* clipboard operations, it does need to return unique IDs for * </p>
* its object to support refresh in the SystemView. * <p>
* </p><p>
* Because each subsystem maintains its own objects, it is the * Because each subsystem maintains its own objects, it is the
* responsibility of the subsystem and its adapters to come up * responsibility of the subsystem and its adapters to come up with a
* with a mapping that is unique for the subsystem. Some subsystems * mapping that is unique for the subsystem. Some subsystems use fully
* use fully qualified path names, while others may use other methods. * qualified path names, while others may use other methods. Extenders just
* Extenders just need to ensure that objects of different type (such * need to ensure that objects of different type (such as filters, actual
* as filters, actual resources or error messages) all have different * resources or error messages) all have different IDs within the subsystem,
* IDs within the subsystem, and the corresponding * and the corresponding
* {@link IRemoteObjectResolver#getObjectWithAbsoluteName(String)} * {@link IRemoteObjectResolver#getObjectWithAbsoluteName(String, IProgressMonitor)}
* method actually finds the object by the given ID. Other subsystems * method actually finds the object by the given ID. Other subsystems do not
* do not need to be considered. * need to be considered.
* </p> * </p>
* <p><strong>Uniqueness and Multiple Contexts</strong><br/> * <p>
* The RSE SystemView allows the same remote object to be displayed * <strong>Uniqueness and Multiple Contexts</strong><br/> The RSE
* in multiple different contexts, i.e. under multiple different * SystemView allows the same remote object to be displayed in multiple
* filters. In this case, each occurrence of the same object must * different contexts, i.e. under multiple different filters. In this case,
* return the same absolute name. For the reverse mapping, however, * each occurrence of the same object must return the same absolute name.
* it is up to the subsystem whether its {@link IRemoteObjectResolver} * For the reverse mapping, however, it is up to the subsystem whether its
* returns only one internal model object for the given identifier, * {@link IRemoteObjectResolver} returns only one internal model object for
* or multiple context objects which all refer to the same remote * the given identifier, or multiple context objects which all refer to the
* object but also hold context information. * same remote object but also hold context information.
* </p> * </p>
* <p><strong>Examples</strong><br/> * <p>
* In the File Subsystem, a fully qualified pathname is used to * <strong>Examples</strong><br/> In the File Subsystem, a fully qualified
* uniquely identify remote objects. For other kinds of objects * pathname is used to uniquely identify remote objects. For other kinds of
* maintained by the same subsystem, the following schemes are used: * objects maintained by the same subsystem, the following schemes are used:
* <ul> * <ul>
* <li>The subsystem itself is identified as<br/> * <li>The subsystem itself is identified as<br/> subsystemID ::=
* subsystemID ::= (profileName).(connectionName).(subsystemName)<br/> * (profileName).(connectionName).(subsystemName)<br/> - see
* - see SystemViewSubSystemAdapter</li> * SystemViewSubSystemAdapter</li>
* <li>Filter Pool References are identified as<br/> * <li>Filter Pool References are identified as<br/> filterPoolID ::=
* filterPoolID ::= (subsystemID).(poolManagerName).(poolReferenceName)<br/> * (subsystemID).(poolManagerName).(poolReferenceName)<br/> - see
* - see SystemViewFilterPoolReferenceAdapter</li> * SystemViewFilterPoolReferenceAdapter</li>
* <li>Filter References are identified as <br/> * <li>Filter References are identified as <br/> filterRefID ::=
* filterRefID ::= (filterPoolID).(filterName)<br/> * (filterPoolID).(filterName)<br/> - see SystemViewFilterReferenceAdapter</li>
* - see SystemViewFilterReferenceAdapter</li>
* <li>Search Results are identified by the * <li>Search Results are identified by the
* {@link IHostSearchResult#SEARCH_RESULT_DELIMITER} * {@link IHostSearchResult#SEARCH_RESULT_DELIMITER} embedded in the ID.</li>
* embedded in the ID.</li>
* </ul> * </ul>
* All these IDs for internal elements like the subsystem itself * All these IDs for internal elements like the subsystem itself or the
* or the filters start with a profile name which must not contain * filters start with a profile name which must not contain any of the / \
* any of the / \ or : characters. Fully qualified path names, on * or : characters. Fully qualified path names, on the other hand, always
* the other hand, always start with a / or \ character (UNIX style * start with a / or \ character (UNIX style paths, Windows UNC paths) or
* paths, Windows UNC paths) or have a : character on the second * have a : character on the second position (Windows drive letters). The
* position (Windows drive letters). The SEARCH_RESULT_DELIMITER * SEARCH_RESULT_DELIMITER is ":SEARCH" which cannot be part of a valid
* is ":SEARCH" which cannot be part of a valid filename. * filename. Therefore, this naming scheme is guaranteed to be unique.
* Therefore, this naming scheme is guaranteed to be unique.
* </p> * </p>
* @see IRemoteObjectResolver#getObjectWithAbsoluteName(String) *
* @see IRemoteObjectResolver#getObjectWithAbsoluteName(String,
* IProgressMonitor)
* *
* @param object the remote element to be identified. * @param object the remote element to be identified.
* @return a String uniquely identifying the remote object within the subsystem. * @return a String uniquely identifying the remote object within the
* Must not return <code>null</code>. * subsystem. Must not return <code>null</code>.
*/ */
public String getAbsoluteName(Object object); public String getAbsoluteName(Object object);