private static bool GroupTogether(byte[] key1, byte[] key2, int groupLevel)
        {
            if (key1 == null || key2 == null)
            {
                return(false);
            }

            if (groupLevel == 0)
            {
                groupLevel = Int32.MaxValue;
            }

            return(JsonCollator.Compare(JsonCollationMode.Unicode, Encoding.UTF8.GetString(key1), Encoding.UTF8.GetString(key2), groupLevel) == 0);
        }
 /// <Docs>Implements the custom collection for JSON strings.</Docs>
 /// <summary>
 /// Couchbase custom JSON collation algorithm.
 /// </summary>
 /// <remarks>
 /// This is woefully incomplete.
 /// For full details, see https://github.com/couchbase/couchbase-lite-ios/blob/580c5f65ebda159ce5d0ce1f75adc16955a2a6ff/Source/CBLCollateJSON.m.
 /// </remarks>
 /// <param name="param1">Param1.</param>
 /// <param name="param2">Param2.</param>
 public override Int32 Compare(String param1, String param2)
 {
     return(JsonCollator.Compare(JsonCollationMode.Ascii, param1, param2, Int32.MaxValue));
 }
Beispiel #3
0
 /// <Docs>Implements the custom collection for JSON strings.</Docs>
 /// <summary>
 /// Couchbase custom JSON collation algorithm.
 /// </summary>
 /// <remarks>
 /// This is woefully incomplete.
 /// For full details, see https://github.com/couchbase/couchbase-lite-ios/blob/580c5f65ebda159ce5d0ce1f75adc16955a2a6ff/Source/CBLCollateJSON.m.
 /// </remarks>
 /// <param name = "args"></param>
 public static Int32 Compare(object userData, String param1, String param2)
 {
     return(JsonCollator.Compare(JsonCollationMode.Raw, param1, param2, Int32.MaxValue));
 }