org.eclipse.m2m.atl.adt.ui.editor
Class AtlOccurrencesFinder

java.lang.Object
  extended by org.eclipse.m2m.atl.adt.ui.editor.AtlOccurrencesFinder
All Implemented Interfaces:
IOccurrencesFinder

public class AtlOccurrencesFinder
extends java.lang.Object
implements IOccurrencesFinder

This class allows us to look into the model for the occurrence of the selected word (if there are). Several problems are encountered:


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.m2m.atl.adt.ui.editor.IOccurrencesFinder
IOccurrencesFinder.OccurrenceLocation
 
Field Summary
 
Fields inherited from interface org.eclipse.m2m.atl.adt.ui.editor.IOccurrencesFinder
F_EXCEPTION_DECLARATION, F_READ_OCCURRENCE, F_WRITE_OCCURRENCE, K_BREAK_TARGET_OCCURRENCE, K_EXCEPTION_OCCURRENCE, K_EXIT_POINT_OCCURRENCE, K_IMPLEMENTS_OCCURRENCE, K_OCCURRENCE
 
Constructor Summary
AtlOccurrencesFinder(AtlEditor editor, org.eclipse.jface.text.IDocument document)
           
 
Method Summary
 void browseModel(org.eclipse.emf.ecore.EObject element, java.lang.String name, java.lang.String featureName, java.lang.String declarationType, java.lang.String useType, java.lang.String displayType)
          Browses the model in order to find occurrences of an element and add it to the result list.
 void browseModelForType(org.eclipse.emf.ecore.EObject element, java.lang.String name)
          Browses the model in order to find occurrences of a type and add it to the result list.
static java.lang.Object eGet(org.eclipse.emf.ecore.EObject self, java.lang.String featureName)
          Returns the value of a feature on an EObject.
 java.lang.String getElementName()
          Returns the name of the element to look for or null if the finder hasn't been initialized yet.
 java.lang.String getID()
          Returns the id of this finder.
 java.lang.String getJobLabel()
           
 IOccurrencesFinder.OccurrenceLocation[] getOccurrences()
          Returns the occurrences
 org.eclipse.jface.text.IRegion getRegionFromElement(org.eclipse.emf.ecore.EObject element)
          Gets the region of the element (actually, it gives the region of the word that is interesting for us in the expression given by the element.
 int getSearchKind()
           
 java.lang.String getUnformattedPluralLabel()
          Returns the plural label for this finder with 3 placeholders: {0} for the element name {1} for the number of results found {2} for the scope (name of the compilation unit)
 java.lang.String getUnformattedSingularLabel()
          Returns the singular label for this finder with 2 placeholders: {0} for the element name {1} for the scope (name of the compilation unit)
 java.lang.String initialize(org.eclipse.jface.text.IRegion selection)
          Initialization of the finder, with a text selection.
static boolean oclIsKindOf(org.eclipse.emf.ecore.EObject element, java.lang.String testedElementName)
          Equivalent of ASMOclAny oclIsKindOf method for EObjects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AtlOccurrencesFinder

public AtlOccurrencesFinder(AtlEditor editor,
                            org.eclipse.jface.text.IDocument document)
Method Detail

initialize

public java.lang.String initialize(org.eclipse.jface.text.IRegion selection)
Initialization of the finder, with a text selection.

Parameters:
selection - the current text selection
Returns:
always null (this is not used here)

getJobLabel

public java.lang.String getJobLabel()
Specified by:
getJobLabel in interface IOccurrencesFinder

getUnformattedPluralLabel

public java.lang.String getUnformattedPluralLabel()
Description copied from interface: IOccurrencesFinder
Returns the plural label for this finder with 3 placeholders:

Specified by:
getUnformattedPluralLabel in interface IOccurrencesFinder
Returns:
the unformatted label

getUnformattedSingularLabel

public java.lang.String getUnformattedSingularLabel()
Description copied from interface: IOccurrencesFinder
Returns the singular label for this finder with 2 placeholders:

Specified by:
getUnformattedSingularLabel in interface IOccurrencesFinder
Returns:
the unformatted label

getElementName

public java.lang.String getElementName()
Description copied from interface: IOccurrencesFinder
Returns the name of the element to look for or null if the finder hasn't been initialized yet.

Specified by:
getElementName in interface IOccurrencesFinder
Returns:
the name of the element

getOccurrences

public IOccurrencesFinder.OccurrenceLocation[] getOccurrences()
Returns the occurrences

Specified by:
getOccurrences in interface IOccurrencesFinder
Returns:
the occurrences
See Also:
IOccurrencesFinder.getOccurrences()

eGet

public static java.lang.Object eGet(org.eclipse.emf.ecore.EObject self,
                                    java.lang.String featureName)
Returns the value of a feature on an EObject.

Parameters:
self - the EObject
featureName - the feature name
Returns:
the feature value

oclIsKindOf

public static boolean oclIsKindOf(org.eclipse.emf.ecore.EObject element,
                                  java.lang.String testedElementName)
Equivalent of ASMOclAny oclIsKindOf method for EObjects.

Parameters:
element - the tested element
testedElementName - the type name
Returns:
True element has testedElementName in its superTypes, False else.

getRegionFromElement

public org.eclipse.jface.text.IRegion getRegionFromElement(org.eclipse.emf.ecore.EObject element)
                                                    throws org.eclipse.jface.text.BadLocationException
Gets the region of the element (actually, it gives the region of the word that is interesting for us in the expression given by the element.

Parameters:
element - the expression we want to extract the word
Returns:
the region of the interesting word of the given element
Throws:
org.eclipse.jface.text.BadLocationException

browseModel

public void browseModel(org.eclipse.emf.ecore.EObject element,
                        java.lang.String name,
                        java.lang.String featureName,
                        java.lang.String declarationType,
                        java.lang.String useType,
                        java.lang.String displayType)
                 throws org.eclipse.jface.text.BadLocationException
Browses the model in order to find occurrences of an element and add it to the result list.

Parameters:
element - the element we want the occurrences from
name - the name of the element we are looking for
featureName - the name of the feature that allows us to find the name of the current navigated element
declarationType - the type of the element that will be considered as "declaration" (different highlighting)
useType - the type of the element that will be considered as "occurrence" (different highlighting)
displayType - the type that is going to be displayed in the eclipse marker
Throws:
org.eclipse.jface.text.BadLocationException

browseModelForType

public void browseModelForType(org.eclipse.emf.ecore.EObject element,
                               java.lang.String name)
                        throws org.eclipse.jface.text.BadLocationException
Browses the model in order to find occurrences of a type and add it to the result list.

Parameters:
element - the type
name - the name of the type
Throws:
org.eclipse.jface.text.BadLocationException

getSearchKind

public int getSearchKind()
Specified by:
getSearchKind in interface IOccurrencesFinder

getID

public java.lang.String getID()
Description copied from interface: IOccurrencesFinder
Returns the id of this finder.

Specified by:
getID in interface IOccurrencesFinder
Returns:
returns the id of this finder.

Copyright 2007 IBM Corporation and others.
All Rights Reserved.