@Override public boolean equals(Object obj) { if (obj instanceof DefaultProjectClasspathEntry) { DefaultProjectClasspathEntry entry = (DefaultProjectClasspathEntry) obj; return entry.getJavaProject().equals(getJavaProject()) && entry.isExportedEntriesOnly() == isExportedEntriesOnly(); } return false; } /* (non-Javadoc)
/** * Returns a new runtime classpath entry containing the default classpath * for the specified Java project. * * @param project Java project * @return runtime classpath entry * @since 3.0 */ public static IRuntimeClasspathEntry newDefaultProjectClasspathEntry(IJavaProject project) { return new DefaultProjectClasspathEntry(project); }
@Override public IResource getResource() { return getProject(); }
@Override public IRuntimeClasspathEntry[] getRuntimeClasspathEntries(boolean excludeTestCode) throws CoreException { IClasspathEntry entry = JavaCore.newProjectEntry(getJavaProject().getProject().getFullPath()); List<Object> classpathEntries = new ArrayList<>(5); List<IClasspathEntry> expanding = new ArrayList<>(5); expandProject(entry, classpathEntries, expanding, excludeTestCode, isExportedEntriesOnly(), getJavaProject(), false); IRuntimeClasspathEntry[] runtimeEntries = new IRuntimeClasspathEntry[classpathEntries.size()]; for (int i = 0; i < runtimeEntries.length; i++) { Object e = classpathEntries.get(i); if (e instanceof IClasspathEntry) { IClasspathEntry cpe = (IClasspathEntry)e; runtimeEntries[i] = new RuntimeClasspathEntry(cpe); } else { runtimeEntries[i] = (IRuntimeClasspathEntry)e; } } // remove bootpath entries - this is a default user classpath List<IRuntimeClasspathEntry> ordered = new ArrayList<>(runtimeEntries.length); for (int i = 0; i < runtimeEntries.length; i++) { if (runtimeEntries[i].getClasspathProperty() == IRuntimeClasspathEntry.USER_CLASSES) { ordered.add(runtimeEntries[i]); } } return ordered.toArray(new IRuntimeClasspathEntry[ordered.size()]); }
@Override public void initializeFrom(Element memento) throws CoreException { String name = memento.getAttribute("project"); //$NON-NLS-1$ if (name == null) { abort(LaunchingMessages.DefaultProjectClasspathEntry_3, null); } IJavaProject project = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot().getProject(name)); setJavaProject(project); name = memento.getAttribute("exportedEntriesOnly"); //$NON-NLS-1$ if (name != null) { fExportedEntriesOnly = Boolean.valueOf(name).booleanValue(); } } /* (non-Javadoc)
@Override public int hashCode() { return getJavaProject().hashCode(); }
@Override public IRuntimeClasspathEntry[] getRuntimeClasspathEntries(ILaunchConfiguration configuration) throws CoreException { IClasspathEntry entry = JavaCore.newProjectEntry(getJavaProject().getProject().getFullPath()); List<Object> classpathEntries = new ArrayList<Object>(5); List<IClasspathEntry> expanding = new ArrayList<IClasspathEntry>(5); expandProject(entry, classpathEntries, expanding); IRuntimeClasspathEntry[] runtimeEntries = new IRuntimeClasspathEntry[classpathEntries.size()]; for (int i = 0; i < runtimeEntries.length; i++) { Object e = classpathEntries.get(i); if (e instanceof IClasspathEntry) { IClasspathEntry cpe = (IClasspathEntry)e; runtimeEntries[i] = new RuntimeClasspathEntry(cpe); } else { runtimeEntries[i] = (IRuntimeClasspathEntry)e; } } // remove bootpath entries - this is a default user classpath List<IRuntimeClasspathEntry> ordered = new ArrayList<IRuntimeClasspathEntry>(runtimeEntries.length); for (int i = 0; i < runtimeEntries.length; i++) { if (runtimeEntries[i].getClasspathProperty() == IRuntimeClasspathEntry.USER_CLASSES) { ordered.add(runtimeEntries[i]); } } return ordered.toArray(new IRuntimeClasspathEntry[ordered.size()]); }
List<IClasspathEntry> expanding = new ArrayList<>(5); boolean exportedEntriesOnly = Platform.getPreferencesService().getBoolean(LaunchingPlugin.ID_PLUGIN, JavaRuntime.PREF_ONLY_INCLUDE_EXPORTED_CLASSPATH_ENTRIES, false, null); DefaultProjectClasspathEntry.expandProject(entry1, classpathEntries, expanding, excludeTestCode, exportedEntriesOnly, project, true); IRuntimeClasspathEntry[] runtimeEntries = new IRuntimeClasspathEntry[classpathEntries.size()]; for (int i = 0; i < runtimeEntries.length; i++) { DefaultProjectClasspathEntry.adjustClasspathProperty(runtimeEntries[i], cpe);
protected Control createCustomArea(Composite parent) { fButton = new Button(parent, SWT.CHECK); fButton.setText(ClasspathMessages.DefaultClasspathEntryDialog_4); fButton.setSelection(fEntry.isExportedEntriesOnly()); return fButton; }
/** * Constructs a new classpath entry for the given project. * * @param project Java project */ public DefaultProjectClasspathEntry(IJavaProject project) { setJavaProject(project); }
@Override public IRuntimeClasspathEntry[] getRuntimeClasspathEntries(ILaunchConfiguration configuration) throws CoreException { boolean excludeTestCode = configuration != null && configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_EXCLUDE_TEST_CODE, false); return getRuntimeClasspathEntries(excludeTestCode); }
} else if (!isExportedEntriesOnly() || project.equals(getJavaProject())) { case IClasspathEntry.CPE_PROJECT: if (!expanding.contains(entry)) { expandProject(entry, expandedPath, expanding);
@Override public void initializeFrom(Element memento) throws CoreException { String name = memento.getAttribute("project"); //$NON-NLS-1$ if (name == null) { abort(LaunchingMessages.DefaultProjectClasspathEntry_3, null); } IJavaProject project = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot().getProject(name)); setJavaProject(project); name = memento.getAttribute("exportedEntriesOnly"); //$NON-NLS-1$ if (name != null) { fExportedEntriesOnly = Boolean.valueOf(name).booleanValue(); } } /* (non-Javadoc)
@Override public int hashCode() { return getJavaProject().hashCode(); }
case IClasspathEntry.CPE_PROJECT: if (!expanding.contains(entry)) { expandProject(entry, expandedPath, expanding, excludeTestCode, exportedEntriesOnly, rootProject, isModularJVM); IRuntimeClasspathEntry r = JavaRuntime.newVariableRuntimeClasspathEntry(entry.getPath()); if (isModularJVM) { adjustClasspathProperty(r, entry); r = JavaRuntime.newArchiveRuntimeClasspathEntry(root.getPath(), entry.getSourceAttachmentPath(), entry.getSourceAttachmentRootPath(), entry.getAccessRules(), entry.getExtraAttributes(), entry.isExported()); if (isModularJVM) { adjustClasspathProperty(r, entry);
/** * Constructs a new classpath entry for the given project. * * @param project Java project */ public DefaultProjectClasspathEntry(IJavaProject project) { setJavaProject(project); }
@Override public boolean equals(Object obj) { if (obj instanceof DefaultProjectClasspathEntry) { DefaultProjectClasspathEntry entry = (DefaultProjectClasspathEntry) obj; return entry.getJavaProject().equals(getJavaProject()) && entry.isExportedEntriesOnly() == isExportedEntriesOnly(); } return false; } /* (non-Javadoc)
@Override protected void buildMemento(Document document, Element memento) throws CoreException { memento.setAttribute("project", getJavaProject().getElementName()); //$NON-NLS-1$ memento.setAttribute("exportedEntriesOnly", Boolean.toString(fExportedEntriesOnly)); //$NON-NLS-1$ }
@Override public IResource getResource() { return getProject(); }
/** * Returns a new runtime classpath entry containing the default classpath * for the specified Java project. * * @param project Java project * @return runtime classpath entry * @since 3.0 */ public static IRuntimeClasspathEntry newDefaultProjectClasspathEntry(IJavaProject project) { return new DefaultProjectClasspathEntry(project); }