diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java new file mode 100644 index 000000000..9b8a676ad --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/FeatureEntry.java @@ -0,0 +1,175 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 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.equinox.internal.provisional.p2.metadata.generator; + +/** + */ +public class FeatureEntry { + private final String id; + private final String version; + private String url; + private String os; + private String ws; + private String arch; + private String nl; + private String match; + private final boolean isPlugin; + private boolean isFragment = false; + private boolean isRequires = false; + private boolean unpack = true; + private boolean optional = false; + + /** + * Temporary field to add provisioning filters to features + */ + private String filter; + + public static FeatureEntry createRequires(String id, String version, String match, String filter, boolean isPlugin) { + FeatureEntry result = new FeatureEntry(id, version, isPlugin); + result.match = match; + result.isRequires = true; + if (filter != null) + result.setFilter(filter); + return result; + } + + public FeatureEntry(String id, String version, boolean isPlugin) { + this.id = id; + this.version = version; + this.isPlugin = isPlugin; + } + + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final FeatureEntry other = (FeatureEntry) obj; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + if (version == null) { + if (other.version != null) + return false; + } else if (!version.equals(other.version)) + return false; + return true; + } + + public String getArch() { + return arch; + } + + /** + * Temporary method to add provisioning filters to features + */ + public String getFilter() { + return filter; + } + + public String getId() { + return id; + } + + public String getMatch() { + return match; + } + + public String getNL() { + return nl; + } + + public String getOS() { + return os; + } + + public String getURL() { + return url; + } + + public String getVersion() { + return version; + } + + public String getWS() { + return ws; + } + + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((version == null) ? 0 : version.hashCode()); + return result; + } + + public boolean isFragment() { + return isFragment; + } + + public boolean isOptional() { + return optional; + } + + public boolean isPlugin() { + return isPlugin; + } + + public boolean isRequires() { + return isRequires; + } + + public boolean isUnpack() { + return unpack; + } + + public void setEnvironment(String os, String ws, String arch, String nl) { + this.os = os; + this.ws = ws; + this.arch = arch; + this.nl = nl; + } + + /** + * Temporary method to add provisioning filters to features + */ + public void setFilter(String filter) { + this.filter = filter; + + } + + public void setFragment(boolean value) { + isFragment = value; + } + + public void setOptional(boolean value) { + optional = value; + } + + public void setUnpack(boolean value) { + unpack = value; + } + + public void setURL(String value) { + url = value; + } + + public String toString() { + StringBuffer result = new StringBuffer(); + + result.append(isPlugin ? "Plugin: " : "Feature: "); //$NON-NLS-1$ //$NON-NLS-2$ + result.append(id != null ? id.toString() : ""); //$NON-NLS-1$ + result.append(version != null ? " " + version.toString() : ""); //$NON-NLS-1$ //$NON-NLS-2$ + return result.toString(); + } +} |