View Javadoc
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  }