diff options
Diffstat (limited to 'plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java')
-rw-r--r-- | plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java b/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java deleted file mode 100644 index ce77ecc37..000000000 --- a/plugins/org.eclipse.jem.beaninfo/beaninfo/org/eclipse/jem/internal/beaninfo/core/SearchpathEntry.java +++ /dev/null @@ -1,189 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2005 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.jem.internal.beaninfo.core; -/* - - - */ - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathEntry; -import org.w3c.dom.*; - -import org.eclipse.jem.internal.beaninfo.adapters.*; - -/** - * Searchpath entry. Beaninfo searchpath entry (i.e. package name). Can include - * kind/path/exported if not a child of the BeaninfoEntry. - * - * Note: if not a child of a BeanInfoEntry, then the path refers to a package - * in the classpath, so container is supported here. - * - * @version 1.0 - * @author - */ -public class SearchpathEntry implements IBeaninfosDocEntry { - - final static String sSearchpath = "searchpath"; // Searchpath entry, shared with BeaninfosDoc. //$NON-NLS-1$ - final static String sPackage = "package"; // Package name. //$NON-NLS-1$ - - /** - * Read the entry in from the element. - */ - public static SearchpathEntry readEntry(IReader reader, Object element, IProject project, boolean beaninfoChild) { - String packageName = reader.getAttribute(element, sPackage); - if (beaninfoChild) - return new SearchpathEntry(packageName); // Kind/path aren't valid on beaninfo children. - - String elementKind = reader.getAttribute(element, BeaninfosDoc.sKind); - String pathStr = reader.getAttribute(element, BeaninfosDoc.sPath); - int kind = BeaninfoEntry.kindFromString(elementKind); - IPath path = null; - if (pathStr != null) { - // ensure path is absolute - path = new Path(pathStr); - if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER && !path.isAbsolute()) { - path = project != null ? project.getFullPath().append(path) : path.makeAbsolute(); // Some folder/jar within this project - } - } - - // create the appropriate entry - boolean valid = true; - switch (kind) { - - case IClasspathEntry.CPE_LIBRARY : - valid = path != null && path.isAbsolute(); - break; - - case IClasspathEntry.CPE_SOURCE : - if (path == null) - valid = false; - else if (path.isAbsolute()) { - // must be an entry in this project or specify another project - String projSegment = path.segment(0); - if (project == null || projSegment == null || !projSegment.equals(project.getName())) { - // another project - kind = IClasspathEntry.CPE_PROJECT; - } - } - break; - - case IClasspathEntry.CPE_VARIABLE : - case IClasspathEntry.CPE_CONTAINER: - break; - - default : - valid = false; - break; - } - - if (valid) - return new SearchpathEntry(kind, path, packageName); - else - return null; - - } - - protected int kind = -1; // Under Beaninfo entry, these don't have kind/path's. - protected IPath path; // Path can be null if under beaninfo entry - protected String packageName; // Packagename can be null if kind/path refer to a project or registered variable. - protected boolean isExported; - - public SearchpathEntry(int kind, IPath path, String packageName) { - this.kind = kind; - this.path = path; - this.packageName = packageName; - } - - public SearchpathEntry(String packageName) { - this.packageName = packageName; - } - - public int getKind() { - return kind; - } - - public IPath getPath() { - return path; - } - - public String getPackage() { - return packageName; - } - - public Node writeEntry(Document doc, IProject project) { - - Element element = doc.createElement(sSearchpath); - if (kind != -1) { - // A non-beaninfo child - element.setAttribute(BeaninfosDoc.sKind, BeaninfoEntry.kindToString(kind)); - IPath tPath = path; - if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER) { - // translate to project relative from absolute (unless a device path) - if (tPath.isAbsolute()) { - if (tPath.segment(0).equals(project.getFullPath().segment(0))) { - tPath = tPath.removeFirstSegments(1); - tPath = tPath.makeRelative(); - } else { - tPath = tPath.makeAbsolute(); - } - } - } - - element.setAttribute(BeaninfosDoc.sPath, tPath.toString()); - } - if (packageName != null) - element.setAttribute(sPackage, packageName); - return element; - } - - public boolean equals(Object other) { - if (this == other) - return true; - - if (!(other instanceof SearchpathEntry)) - return false; - - SearchpathEntry otherEntry = (SearchpathEntry) other; - if (kind != otherEntry.kind) - return false; - - if (path == null) - if (otherEntry.path != null) - return false; - else - ; - else if (!path.equals(otherEntry.path)) - return false; - - if (packageName == null) - if (otherEntry.packageName != null) - return false; - else - ; - else if (!packageName.equals(otherEntry.packageName)) - return false; - - return true; - } - - public int hashCode() { - int hashCode = kind; - if (path != null) - hashCode ^= path.hashCode(); - if (packageName != null) - hashCode ^= packageName.hashCode(); - return hashCode; - } - -} |