1 /** 2 * Copyright 2010-2014 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.common.util.metainf.model; 17 18 import java.util.Comparator; 19 20 /** 21 * <p> 22 * Sort lexicographically by directory structure, then filename of the locations contained in each {@code MetaInfResource} 23 * </p> 24 * 25 * For example: 26 * 27 * <pre> 28 * 2 - /a/foo2.txt 1 - /a/foo1.txt 29 * 3 - /a/b/foo.txt 2 - /a/foo2.txt 30 * 1 - /a/foo1.txt 3 - /a/b/foo.txt 31 * </pre> 32 * 33 */ 34 public class MetaInfResourcePathComparator implements Comparator<MetaInfResource> { 35 36 private final PathComparator comparator = new PathComparator(); 37 38 @Override 39 public int compare(MetaInfResource one, MetaInfResource two) { 40 return comparator.compare(one.getLocation(), two.getLocation()); 41 } 42 }