Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerUtilities.java')
-rw-r--r--org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerUtilities.java410
1 files changed, 0 insertions, 410 deletions
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerUtilities.java b/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerUtilities.java
deleted file mode 100644
index 20fefe58ac4..00000000000
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/texteditor/MarkerUtilities.java
+++ /dev/null
@@ -1,410 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.texteditor;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.osgi.framework.Bundle;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * Utility class for accessing marker attributes. The static methods provided
- * on this class provide internal exception handling (unexpected
- * <code>CoreException</code>s are logged to workbench).
- * <p>
- * This class provides static methods only; it is not intended to be
- * instantiated or subclassed by clients.
- * </p>
- */
-public final class MarkerUtilities {
-
- /**
- * Internal marker super type hierarchy cache.
- * TODO this cache is currently unbound, i.e. only limited by the number of marker types
- */
- private static class MarkerTypeHierarchy {
-
- private Map fTypeMap;
- private Map fSuperTypesCache= new HashMap();
-
- public String[] getSuperTypes(String typeName) {
- String[] cachedTypes= (String[]) fSuperTypesCache.get(typeName);
- if (cachedTypes == null) {
- cachedTypes= computeSuperTypes(typeName);
- fSuperTypesCache.put(typeName, cachedTypes);
- }
- return cachedTypes;
- }
-
- private String[] computeSuperTypes(String typeName) {
- ArrayList types= new ArrayList();
- appendAll(types, getDirectSuperTypes(typeName));
- int index= 0;
- while (index < types.size()) {
- String type= (String) types.get(index++);
- appendAll(types, getDirectSuperTypes(type));
- }
-
- String[] superTypes= new String[types.size()];
- types.toArray(superTypes);
- return superTypes;
- }
-
- private String[] getDirectSuperTypes(String typeName) {
- return (String[]) getTypeMap().get(typeName);
- }
-
- private void appendAll(List list, Object[] objects) {
- for (int i= 0; i < objects.length; i++) {
- Object o= objects[i];
- if (!list.contains(o))
- list.add(o);
- }
- }
-
- private Map getTypeMap() {
- if (fTypeMap == null)
- fTypeMap= readTypes();
- return fTypeMap;
- }
-
- private Map readTypes() {
- HashMap allTypes= new HashMap();
- IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_MARKERS);
- if (point != null) {
- IExtension[] extensions = point.getExtensions();
- for (int i= 0; i < extensions.length; i++) {
- IExtension extension= extensions[i];
- ArrayList types= new ArrayList();
- IConfigurationElement[] configElements= extension.getConfigurationElements();
- for (int j= 0; j < configElements.length; ++j) {
- IConfigurationElement element= configElements[j];
- if (element.getName().equalsIgnoreCase("super")) { //$NON-NLS-1$
- String type = element.getAttribute("type"); //$NON-NLS-1$
- if (type != null) {
- types.add(type);
- }
- }
- }
- String[] superTypes= new String[types.size()];
- types.toArray(superTypes);
- allTypes.put(extension.getUniqueIdentifier(), superTypes);
- }
- }
- return allTypes;
- }
- }
-
- private static MarkerTypeHierarchy fgMarkerTypeHierarchy;
-
-
-
- /**
- * Don't allow instantiation.
- */
- private MarkerUtilities() {
- }
-
- /**
- * Returns the ending character offset of the given marker.
- *
- * @param marker the marker
- * @return the ending character offset, or <code>-1</code> if not set
- * @see IMarker#CHAR_END
- * @see IMarker#getAttribute(java.lang.String, int)
- */
- public static int getCharEnd(IMarker marker) {
- return getIntAttribute(marker, IMarker.CHAR_END, -1);
- }
-
- /**
- * Returns the starting character offset of the given marker.
- *
- * @param marker the marker
- * @return the starting character offset, or <code>-1</code> if not set
- * @see IMarker#CHAR_START
- * @see IMarker#getAttribute(java.lang.String,int)
- */
- public static int getCharStart(IMarker marker) {
- return getIntAttribute(marker, IMarker.CHAR_START, -1);
- }
-
- /**
- * Returns the specified attribute of the given marker as an integer.
- * Returns the given default if the attribute value is not an integer.
- *
- * @param marker the marker
- * @param attributeName the name of the attribute
- * @param defaultValue the default value
- * @return the attribute's value or the default value
- * if the attribute does not exist or isn't an int
- */
- private static int getIntAttribute(IMarker marker, String attributeName, int defaultValue) {
- if (marker.exists())
- return marker.getAttribute(attributeName, defaultValue);
- return defaultValue;
- }
-
- /**
- * Returns the line number of the given marker.
- *
- * @param marker the marker
- * @return the line number, or <code>-1</code> if not set
- * @see IMarker#LINE_NUMBER
- * @see IMarker#getAttribute(java.lang.String,int)
- */
- public static int getLineNumber(IMarker marker) {
- return getIntAttribute(marker, IMarker.LINE_NUMBER, -1);
- }
-
- /**
- * Returns the priority of the given marker.
- *
- * @param marker the marker
- * @return the priority, or <code>IMarker.PRIORITY_NORMAL</code> if not set
- * @see IMarker#PRIORITY
- * @see IMarker#PRIORITY_NORMAL
- * @see IMarker#getAttribute(java.lang.String,int)
- */
- public static int getPriority(IMarker marker) {
- return getIntAttribute(marker, IMarker.PRIORITY, IMarker.PRIORITY_NORMAL);
- }
-
- /**
- * Returns the severity of the given marker.
- *
- * @param marker the marker
- * @return the priority, or <code>IMarker.SEVERITY_INFO</code> if not set
- * @see IMarker#SEVERITY
- * @see IMarker#SEVERITY_INFO
- * @see IMarker#getAttribute(java.lang.String,int)
- */
- public static int getSeverity(IMarker marker) {
- return getIntAttribute(marker, IMarker.SEVERITY, IMarker.SEVERITY_INFO);
- }
-
- /**
- * Handles a core exception which occurs when accessing marker attributes.
- *
- * @param e the core exception
- */
- private static void handleCoreException(CoreException e) {
- Bundle bundle = Platform.getBundle(PlatformUI.PLUGIN_ID);
- ILog log= Platform.getLog(bundle);
- log.log(e.getStatus());
- }
-
- /**
- * Returns whether the given marker is of the given type (either directly or indirectly).
- *
- * @param marker the marker to be checked
- * @param type the reference type
- * @return <code>true</code>if maker is an instance of the reference type
- */
- public static boolean isMarkerType(IMarker marker, String type) {
- if (marker != null) {
- try {
- return marker.exists() && marker.isSubtypeOf(type);
- } catch (CoreException x) {
- handleCoreException(x);
- }
- }
- return false;
- }
-
- /**
- * Returns the marker type of the given marker or <code>null</code> if
- * the type could not be determined.
- *
- * @param marker the marker
- * @return the marker type
- * @since 3.0
- */
- public static String getMarkerType(IMarker marker) {
- try {
- return marker.getType();
- } catch (CoreException x) {
- handleCoreException(x);
- }
- return null;
- }
-
- /**
- * Returns the message associated with the given marker.
- *
- * @param marker the marker
- * @return the message associated with the marker or <code>null</code>
- * @since 3.0
- */
- public static String getMessage(IMarker marker) {
- return marker.getAttribute(IMarker.MESSAGE, null);
- }
-
- /**
- * Sets the ending character offset of the given marker.
- *
- * @param marker the marker
- * @param charEnd the ending character offset
- * @see IMarker#CHAR_END
- * @see IMarker#setAttribute(java.lang.String,int)
- */
- public static void setCharEnd(IMarker marker, int charEnd) {
- setIntAttribute(marker, IMarker.CHAR_END, charEnd);
- }
-
- /**
- * Sets the ending character offset in the given map using the standard
- * marker attribute name as the key.
- *
- * @param map the map (key type: <code>String</code>, value type:
- * <code>Object</code>)
- * @param charEnd the ending character offset
- * @see IMarker#CHAR_END
- */
- public static void setCharEnd(Map map, int charEnd) {
- map.put(IMarker.CHAR_END, new Integer(charEnd));
- }
-
- /**
- * Sets the starting character offset of the given marker.
- *
- * @param marker the marker
- * @param charStart the starting character offset
- * @see IMarker#CHAR_START
- * @see IMarker#setAttribute(java.lang.String,int)
- */
- public static void setCharStart(IMarker marker, int charStart) {
- setIntAttribute(marker, IMarker.CHAR_START, charStart);
- }
-
- /**
- * Sets the starting character offset in the given map using the standard
- * marker attribute name as the key.
- *
- * @param map the map (key type: <code>String</code>, value type:
- * <code>Object</code>)
- * @param charStart the starting character offset
- * @see IMarker#CHAR_START
- */
- public static void setCharStart(Map map, int charStart) {
- map.put(IMarker.CHAR_START, new Integer(charStart));
- }
-
- /**
- * Sets the specified attribute of the given marker as an integer.
- *
- * @param marker the marker
- * @param attributeName the attribute name
- * @param value the int value
- */
- private static void setIntAttribute(IMarker marker, String attributeName, int value) {
- try {
- if (marker.exists())
- marker.setAttribute(attributeName, value);
- } catch (CoreException e) {
- handleCoreException(e);
- }
- }
-
- /**
- * Sets the line number of the given marker.
- *
- * @param marker the marker
- * @param lineNum the line number
- * @see IMarker#LINE_NUMBER
- * @see IMarker#setAttribute(java.lang.String,int)
- */
- public static void setLineNumber(IMarker marker, int lineNum) {
- setIntAttribute(marker, IMarker.LINE_NUMBER, lineNum);
- }
-
- /**
- * Sets the line number in the given map using the standard marker attribute
- * name as the key.
- *
- * @param map the map (key type: <code>String</code>, value type:
- * <code>Object</code>)
- * @param lineNum the line number
- * @see IMarker#LINE_NUMBER
- */
- public static void setLineNumber(Map map, int lineNum) {
- map.put(IMarker.LINE_NUMBER, new Integer(lineNum));
- }
-
- /**
- * Sets the message in the given map using the standard marker attribute name
- * as the key.
- *
- * @param map the map (key type: <code>String</code>, value type:
- * <code>Object</code>)
- * @param message the message
- * @see IMarker#MESSAGE
- */
- public static void setMessage(Map map, String message) {
- map.put(IMarker.MESSAGE, message);
- }
-
- /**
- * Creates a marker on the given resource with the given type and attributes.
- * <p>
- * This method modifies the workspace (progress is not reported to the user).</p>
- *
- * @param resource the resource
- * @param attributes the attribute map (key type: <code>String</code>,
- * value type: <code>Object</code>)
- * @param markerType the type of marker
- * @throws CoreException if this method fails
- * @see IResource#createMarker(java.lang.String)
- */
- public static void createMarker(final IResource resource, final Map attributes, final String markerType) throws CoreException {
-
- IWorkspaceRunnable r= new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- IMarker marker= resource.createMarker(markerType);
- marker.setAttributes(attributes);
- }
- };
-
- resource.getWorkspace().run(r, null,IWorkspace.AVOID_UPDATE, null);
- }
-
- /**
- * Returns the list of super types for the given marker.
- * The list is a depth first list and maintains the sequence in which
- * the super types are listed in the marker specification.
- *
- * @param markerType the marker's type
- * @return a depth-first list of all super types of the given marker type
- */
- public static String[] getSuperTypes(String markerType) {
- if (fgMarkerTypeHierarchy == null)
- fgMarkerTypeHierarchy= new MarkerTypeHierarchy();
- return fgMarkerTypeHierarchy.getSuperTypes(markerType);
- }
-}

Back to the top