/******************************************************************************* * Copyright Technophobia Ltd 2012 * * This file is part of the Substeps Eclipse Plugin. * * The Substeps Eclipse Plugin is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License v1.0. * * The Substeps Eclipse Plugin is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * Eclipse Public License for more details. * * You should have received a copy of the Eclipse Public License * along with the Substeps Eclipse Plugin. If not, see <http://www.eclipse.org/legal/epl-v10.html>. ******************************************************************************/ package com.technophobia.substeps.junit.launcher; public class SubstepsRuntimeClasspathEntry { private final String pluginId; private final String pluginRelativePath; public SubstepsRuntimeClasspathEntry(final String pluginId, final String relativePath) { this.pluginId = pluginId; this.pluginRelativePath = relativePath; } public SubstepsRuntimeClasspathEntry developmentModeEntry() { return new SubstepsRuntimeClasspathEntry(getPluginId(), "target/classes"); //$NON-NLS-1$ } public String getPluginId() { return pluginId; } public String getPluginRelativePath() { return pluginRelativePath; } @Override public String toString() { return "ClasspathEntry(" + pluginId + "/" + pluginRelativePath + ")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((pluginId == null) ? 0 : pluginId.hashCode()); result = prime * result + ((pluginRelativePath == null) ? 0 : pluginRelativePath.hashCode()); return result; } @Override public boolean equals(final Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final SubstepsRuntimeClasspathEntry other = (SubstepsRuntimeClasspathEntry) obj; if (pluginId == null) { if (other.pluginId != null) return false; } else if (!pluginId.equals(other.pluginId)) return false; if (pluginRelativePath == null) { if (other.pluginRelativePath != null) return false; } else if (!pluginRelativePath.equals(other.pluginRelativePath)) return false; return true; } }