diff options
Diffstat (limited to 'bundles/org.eclipse.osgi/resolver/src/org/eclipse/core/internal/dependencies/Element.java')
-rw-r--r-- | bundles/org.eclipse.osgi/resolver/src/org/eclipse/core/internal/dependencies/Element.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/core/internal/dependencies/Element.java b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/core/internal/dependencies/Element.java new file mode 100644 index 000000000..67c619396 --- /dev/null +++ b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/core/internal/dependencies/Element.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 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.core.internal.dependencies; + +import org.eclipse.core.dependencies.IDependency; +import org.eclipse.core.dependencies.IElement; + +class Element implements IElement { + private Object id; + private Object versionId; + private IDependency[] dependencies; + private boolean singleton; + private Object userObject; + public Element(Object id, Object versionId, IDependency[] dependencies, boolean singleton, Object userObject) { + Assert.isNotNull(id); + Assert.isNotNull(versionId); + Assert.isNotNull(dependencies); + this.id = id; + this.versionId = versionId; + this.dependencies = dependencies; + this.singleton = singleton; + this.userObject = userObject; + } + public Object getId() { + return id; + } + public Object getVersionId() { + return versionId; + } + public IDependency[] getDependencies() { + return dependencies; + } + public IDependency getDependency(Object id) { + for (int i = 0; i < dependencies.length; i++) + if (dependencies[i].getRequiredObjectId().equals(id)) + return dependencies[i]; + return null; + } + public boolean isSingleton() { + return singleton; + } + public Object getUserObject() { + return userObject; + } + public String toString() { + return this.id + "_" + this.versionId; //$NON-NLS-1$ + } + public boolean equals(Object obj) { + if (!(obj instanceof Element)) + return false; + Element other = (Element) obj; + return (other.userObject != null && other.userObject.equals(this.userObject)) || (this.id.equals(other.id) && this.versionId.equals(other.versionId) && other.userObject == null && this.userObject == null); + } + public int hashCode() { + return (id.hashCode() << 16) | (versionId.hashCode() & 0xFFFF); + } +} |