Copyright (c) 2017 GK Software AG, 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: Stephan Herrmann - initial API and implementation
/******************************************************************************* * Copyright (c) 2017 GK Software AG, 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: * Stephan Herrmann - initial API and implementation *******************************************************************************/
package org.eclipse.jdt.internal.core.nd.java.model; import org.eclipse.jdt.internal.compiler.env.IDependent; import org.eclipse.jdt.internal.core.nd.util.CharArrayUtils;
Holds a lightweight identifier for an IBinaryModule, with sufficient information to either read it from disk or read it from the index.
/** * Holds a lightweight identifier for an IBinaryModule, with sufficient information to either read it from * disk or read it from the index. */
public class BinaryModuleDescriptor { public final char[] indexPath; public final char[] moduleName; // TODO: not sure if this will be needed once wired to the index? public final char[] location; public final char[] workspacePath;
Constructs a new descriptor
Params:
  • location – location where the archive (.jar or .class) can be found in the local filesystem
  • moduleName – name of the module
  • workspacePath – location where the archive (.jar or class) can be found in the workspace. If it is not in the workspace, this is the path where it can be found on the local filesystem.
  • indexPath – index path for the new module (workspace-or-local path to jar optionally followed by a | and a relative path within the .jar)
/** * Constructs a new descriptor * * @param location * location where the archive (.jar or .class) can be found in the local filesystem * @param moduleName * name of the module * @param workspacePath * location where the archive (.jar or class) can be found in the workspace. If it is not in the * workspace, this is the path where it can be found on the local filesystem. * @param indexPath * index path for the new module (workspace-or-local path to jar optionally followed by a | and a relative * path within the .jar) */
public BinaryModuleDescriptor(char[] location, char[] moduleName, char[] workspacePath, char[] indexPath) { super(); this.location = location; this.moduleName = moduleName; this.indexPath = indexPath; this.workspacePath = workspacePath; } public boolean isInJarFile() { return CharArrayUtils.indexOf(IDependent.JAR_FILE_ENTRY_SEPARATOR, this.indexPath) != -1; }
For debugging purposes only.
/** * For debugging purposes only. */
@Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append(this.workspacePath); builder.append('|'); builder.append(this.moduleName); return builder.toString(); } }