/******************************************************************************* * Copyright (c) 2007 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.seam.ui.dialog; import java.io.File; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import org.eclipse.jface.viewers.IStructuredContentProvider; import com.ibm.icu.text.Collator; /** * * @author snjeza */ public abstract class AbstractFileSetContentProvider implements IStructuredContentProvider { protected static File[] ZERO_ARRAY = new File[0]; protected Object[] elements = ZERO_ARRAY; private final Comparator<File> comparer = new Comparator<File>() { private Collator collator = Collator.getInstance(); public int compare(File arg0, File arg1) { String s1 = arg0.getName(); String s2 = arg1.getName(); return collator.compare(s1, s2); } }; public Object[] getElements(Object inputElement) { return elements; } public void dispose() { } public void sort() { File[] results = new File[elements.length]; System.arraycopy(elements, 0, results, 0, elements.length); Collections.sort(Arrays.asList(results), comparer); elements = results; } }