diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RefactoringUtil.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RefactoringUtil.java | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RefactoringUtil.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RefactoringUtil.java deleted file mode 100644 index 04ebcfa26..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/core/RefactoringUtil.java +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal.refactorings.core; - -import static com.android.SdkConstants.ANDROID_URI; -import static com.android.SdkConstants.ATTR_NAME; -import static com.android.xml.AndroidManifest.ATTRIBUTE_BACKUP_AGENT; -import static com.android.xml.AndroidManifest.ATTRIBUTE_MANAGE_SPACE_ACTIVITY; -import static com.android.xml.AndroidManifest.ATTRIBUTE_PARENT_ACTIVITY_NAME; -import static com.android.xml.AndroidManifest.ATTRIBUTE_TARGET_ACTIVITY; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.xml.AndroidManifest; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.wst.sse.core.StructuredModelManager; -import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; -import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; -import org.w3c.dom.Attr; -import org.w3c.dom.Element; - -import java.io.IOException; -import java.io.UnsupportedEncodingException; - -/** - * The utility class for android refactoring - * - */ -@SuppressWarnings("restriction") -public class RefactoringUtil { - - private static boolean sRefactorAppPackage = false; - - /** - * Releases SSE read model; saves SSE model if exists edit model - * Called in dispose method of refactoring change classes - * - * @param model the SSE model - * @param document the document - */ - public static void fixModel(IStructuredModel model, IDocument document) { - if (model != null) { - model.releaseFromRead(); - } - model = null; - if (document == null) { - return; - } - try { - model = StructuredModelManager.getModelManager().getExistingModelForEdit(document); - if (model != null) { - model.save(); - } - } catch (UnsupportedEncodingException e1) { - // ignore - } catch (IOException e1) { - // ignore - } catch (CoreException e1) { - // ignore - } finally { - if (model != null) { - model.releaseFromEdit(); - } - } - } - - /** - * Logs the info message - * - * @param message the message - */ - public static void logInfo(String message) { - AdtPlugin.log(IStatus.INFO, AdtPlugin.PLUGIN_ID, message); - } - - /** - * Logs the the exception - * - * @param e the exception - */ - public static void log(Throwable e) { - AdtPlugin.log(e, e.getMessage()); - } - - /** - * @return true if Rename/Move package needs to change the application package - * default is false - * - */ - public static boolean isRefactorAppPackage() { - return sRefactorAppPackage; - } - - /** - * @param refactorAppPackage true if Rename/Move package needs to change the application package - */ - public static void setRefactorAppPackage(boolean refactorAppPackage) { - RefactoringUtil.sRefactorAppPackage = refactorAppPackage; - } - - /** - * Returns the range of the attribute value in the given document - * - * @param attr the attribute to look up - * @param document the document containing the attribute - * @return the range of the value text, not including quotes, in the document - */ - public static int getAttributeValueRangeStart( - @NonNull Attr attr, - @NonNull IDocument document) { - IndexedRegion region = (IndexedRegion) attr; - int potentialStart = attr.getName().length() + 2; // + 2: add =" - String text; - try { - text = document.get(region.getStartOffset(), - region.getEndOffset() - region.getStartOffset()); - } catch (BadLocationException e) { - return -1; - } - String value = attr.getValue(); - int index = text.indexOf(value, potentialStart); - if (index != -1) { - return region.getStartOffset() + index; - } else { - return -1; - } - } - - /** - * Returns the start of the tag name of the given element - * - * @param element the element to look up - * @param document the document containing the attribute - * @return the index of the start tag in the document - */ - public static int getTagNameRangeStart( - @NonNull Element element, - @NonNull IDocument document) { - IndexedRegion region = (IndexedRegion) element; - int potentialStart = 1; // add '<' - String text; - try { - text = document.get(region.getStartOffset(), - region.getEndOffset() - region.getStartOffset()); - } catch (BadLocationException e) { - return -1; - } - int index = text.indexOf(element.getTagName(), potentialStart); - if (index != -1) { - return region.getStartOffset() + index; - } else { - return -1; - } - } - - /** - * Returns whether the given manifest attribute should be considered to describe - * a class name. These will be eligible for refactoring when classes are renamed - * or moved. - * - * @param attribute the manifest attribute - * @return true if this attribute can describe a class - */ - public static boolean isManifestClassAttribute(@NonNull Attr attribute) { - return isManifestClassAttribute( - attribute.getOwnerElement().getTagName(), - attribute.getNamespaceURI(), - attribute.getLocalName()); - } - - /** - * Returns whether the given manifest attribute should be considered to describe - * a class name. These will be eligible for refactoring when classes are renamed - * or moved. - * - * @param tag the tag, if known - * @param uri the attribute namespace, if any - * @param name the attribute local name, if any - * @return true if this attribute can describe a class - */ - public static boolean isManifestClassAttribute( - @Nullable String tag, - @Nullable String uri, - @Nullable String name) { - if (name == null) { - return false; - } - - if ((name.equals(ATTR_NAME) - && (AndroidManifest.NODE_ACTIVITY.equals(tag) - || AndroidManifest.NODE_APPLICATION.equals(tag) - || AndroidManifest.NODE_INSTRUMENTATION.equals(tag) - || AndroidManifest.NODE_PROVIDER.equals(tag) - || AndroidManifest.NODE_SERVICE.equals(tag) - || AndroidManifest.NODE_RECEIVER.equals(tag))) - || name.equals(ATTRIBUTE_TARGET_ACTIVITY) - || name.equals(ATTRIBUTE_MANAGE_SPACE_ACTIVITY) - || name.equals(ATTRIBUTE_BACKUP_AGENT) - || name.equals(ATTRIBUTE_PARENT_ACTIVITY_NAME)) { - return ANDROID_URI.equals(uri); - } - - return false; - } -} |