/**
 * Copyright (C) 2010-2011 LShift Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.lshift.diffa.participant.scanning;

public interface IdOrdering {
  public boolean sortsBefore(String left, String right);
}

@@ -655,37 +655,1241 @@
 g;%0A%0A
-public interface IdOrdering %7B
+%0A/**%0A * This type represents the concept of an ordering of ids. This is so that%0A * we can parameterise the ordering-sensitive parts of our code (Eg: the%0A * DigestBuilder, output from the VersionCorrelationStore) in order to%0A * support systems who might use an ordering that differs from doing naive%0A * ASCII string comparisons. Eg: MySQL uses a swedish case insensitive%0A * collation by default, where the case is considered to be less important%0A * than the relative ordering of the character within the alphabet.%0A * So with a varchar primary key with a case insensitive collation, you might end up%0A * with the following ordering:%0A *%0A * %5Bfoo, FooBar, fooBar2%5D%0A *%0A * Wheras with a plain ASCII-ordered ordering, we would have:%0A *%0A * %5BFooBar, foo, fooBar2%5D%0A */%0A%0Apublic interface IdOrdering %7B%0A  /**%0A   * Describes a strict weak ordering over string values. It is semantically%0A   * equivalent to (left %3C right), but taking into account other criteria%0A   * required for an ordering appropriate to the participant's domain (eg:%0A   * case sensitivity, numeric ordering, &c).%0A   *%0A   * @param left The left hand side of the comparison,.%0A   * @param right The right hand side of the comparison.%0A   * @return The result of said comparison.%0A   */
 %0A  p

Add some scant documentation to the IdOrdering interface.