001/* 002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Nuxeo - initial API and implementation 011 * 012 * $Id$ 013 */ 014 015package org.nuxeo.ecm.core.model; 016 017import java.io.Serializable; 018import java.util.Comparator; 019 020/** 021 * @author <a href="mailto:gracinet@nuxeo.com">Georges Racinet</a> 022 */ 023public class PathComparator implements Comparator<Document>, Serializable { 024 025 private static final long serialVersionUID = 1L; 026 027 @Override 028 public int compare(Document o1, Document o2) { 029 // The character "/" should be considered as the highest discriminant to 030 // sort paths. So we replace it with the first unicode character 031 String path1 = o1.getPath().replace("/", "\u0000"); 032 return path1.compareTo(o2.getPath().replace("/", "\u0000")); 033 } 034 035}