blob: 2b4d6c9946e1cae9a2270cb34085ad99f576a442 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2005, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
****************************************************************************/
package org.eclipse.gmf.runtime.common.ui.services.elementselection;
import org.eclipse.swt.graphics.Image;
/**
* Abstract implementation of an IElementSelectionProvider.
*
* @author Anthony Hunter <a href="mailto:anthonyh@ca.ibm.com">
* anthonyh@ca.ibm.com </a>
*/
public class AbstractMatchingObject
implements IMatchingObject {
/**
* The dashes used to construct the display name.
*/
public static String DASHES = " - "; //$NON-NLS-1$
/**
* The name of the matching object.
*/
private String name;
/**
* The display name of the matching object.
* <p>
* The display name is the matching object name followed by dashes followed
* by a fully qualified name to distingish between objects with the same
* name.
*/
private String displayName;
/**
* The image of the matching object.
*/
private Image image;
/**
* The element selection provider that that provided this matching object.
*/
private IElementSelectionProvider provider;
/**
* Constructor for an AbstractMatchingObject.
*
* @param name
* the name of the matching object.
* @param displayName
* The display name of the matching object.
* @param image
* The image of the matching object.
* @param provider
* The element selection provider that that provided this
* matching object.
*/
public AbstractMatchingObject(String name, String displayName, Image image,
IElementSelectionProvider provider) {
this.name = name;
this.displayName = displayName;
this.image = image;
this.provider = provider;
}
/**
* {@inheritDoc}
*/
public String getName() {
return name;
}
/**
* {@inheritDoc}
*/
public String getDisplayName() {
return displayName;
}
/**
* {@inheritDoc}
*/
public Image getImage() {
return image;
}
/**
* {@inheritDoc}
*/
public String toString() {
return displayName != null ? displayName
: super.toString();
}
/**
* {@inheritDoc}
*/
public IElementSelectionProvider getProvider() {
return provider;
}
}