Copyright (c) 2000, 2015 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2015 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.jdt.internal.launching; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.jdt.launching.IRuntimeClasspathEntry; import org.w3c.dom.Document; import org.w3c.dom.Element;
Specialization for a String variable classpath entry
/** * Specialization for a String variable classpath entry */
public class VariableClasspathEntry extends AbstractRuntimeClasspathEntry { public static final String TYPE_ID = "org.eclipse.jdt.launching.classpathentry.variableClasspathEntry"; //$NON-NLS-1$ private String variableString;
Constructor
/** * Constructor */
public VariableClasspathEntry() {}
Constructor
Params:
  • variableString – the string value
/** * Constructor * @param variableString the string value */
public VariableClasspathEntry(String variableString) { this.variableString = variableString; } /* (non-Javadoc) * @see org.eclipse.jdt.internal.launching.AbstractRuntimeClasspathEntry#buildMemento(org.w3c.dom.Document, org.w3c.dom.Element) */ @Override protected void buildMemento(Document document, Element memento) throws CoreException { memento.setAttribute("variableString", variableString); //$NON-NLS-1$ memento.setAttribute("path", Integer.toString(getClasspathProperty())); //$NON-NLS-1$ } /* (non-Javadoc) * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#initializeFrom(org.w3c.dom.Element) */ @Override public void initializeFrom(Element memento) throws CoreException { variableString = memento.getAttribute("variableString"); //$NON-NLS-1$ String property = memento.getAttribute("path"); //$NON-NLS-1$ if(property != null && !"".equals(property)) { //$NON-NLS-1$ try { setClasspathProperty(Integer.parseInt(property)); } catch(NumberFormatException nfe) {/*do nothing, but don't throw an exception*/} } } /* (non-Javadoc) * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getTypeId() */ @Override public String getTypeId() { return TYPE_ID; } /* (non-Javadoc) * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getRuntimeClasspathEntries(org.eclipse.debug.core.ILaunchConfiguration) */ @Override public IRuntimeClasspathEntry[] getRuntimeClasspathEntries(ILaunchConfiguration configuration) throws CoreException { return new IRuntimeClasspathEntry[0]; } /* (non-Javadoc) * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getName() */ @Override public String getName() { return variableString; } /* (non-Javadoc) * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry#getType() */ @Override public int getType() { return OTHER; }
Returns:Returns the variableString.
/** * @return Returns the variableString. */
public String getVariableString() { return variableString; }
Params:
  • variableString – The variableString to set.
/** * @param variableString The variableString to set. */
public void setVariableString(String variableString) { this.variableString = variableString; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { if (variableString != null) { return variableString.hashCode(); } return 0; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (obj instanceof VariableClasspathEntry) { VariableClasspathEntry other= (VariableClasspathEntry)obj; if (variableString != null) { return variableString.equals(other.variableString); } } return false; } }