/*=============================================================================# # Copyright (c) 2016 Stephan Wahlbrink (WalWare.de) 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: # Stephan Wahlbrink - initial API and implementation #=============================================================================*/ package de.walware.ecommons.ltk.buildpaths.ui; import java.util.List; import org.eclipse.core.resources.IProject; import de.walware.jcommons.collections.ImCollections; import de.walware.jcommons.collections.ImList; import de.walware.ecommons.ltk.buildpaths.core.BuildpathElementType; import de.walware.ecommons.ltk.buildpaths.core.IBuildpathElement; public class BuildpathsUIDescription { public void toListElements(final IProject project, final List<IBuildpathElement> coreElements, final List<BuildpathListElement> listElements) { for (final IBuildpathElement element : coreElements) { listElements.add(new BuildpathListElement(project, null, element, false)); } } public ImList<IBuildpathElement> toCoreElements(final List<BuildpathListElement> listElements) { final IBuildpathElement[] coreElements= new IBuildpathElement[listElements.size()]; int j= 0; for (final BuildpathListElement listElement : listElements) { coreElements[j++]= listElement.getCoreElement(); } return ImCollections.newList(coreElements); } public BuildpathListElementComparator createListElementComparator() { return new BuildpathListElementComparator(); } public BuildpathListLabelProvider createListLabelProvider() { return new BuildpathListLabelProvider(); } public String getDefaultExt(final BuildpathListElement element) { return "ext"; } public boolean getAllowAdd(final IProject project, final BuildpathElementType type) { return true; } public boolean getAllowEdit(final BuildpathListElement element) { return true; } public boolean getAllowEdit(final BuildpathListElementAttribute attribute) { return true; } }