blob: 9194f29288a73b63d071fcacdc87871e306c5d74 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2007 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 - Initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.helper;
/**
* Description of a syntax completion choice. A choice is characterized by a
* kind (indicating the type of model construct that it represents), a name,
* and a description (which is useful for constructing text for a content-assist
* window). The choice also can provide the actual model element that it
* represents, in case the client knows how to interpret it.
* <p>
* <b>Note</b> that this interface is not intended to be implemented
* by clients.
* </p>
*
* @author Christian W. Damus (cdamus)
*/
public interface Choice {
/**
* Queries the kind of syntax completion suggestion that I am.
*
* @return my type
*/
ChoiceKind getKind();
/**
* Obtains my name, suitable for display in a UI list.
*
* @return my name
*/
String getName();
/**
* Obtains my description, suitable for display in a UI tool tip or pop-up
* help window.
*
* @return my description
*/
String getDescription();
/**
* Obtains the model element (property, operation, type, etc.) that is
* the choice in question.
*
* @return the element that I represent
*/
Object getElement();
}