Sha256: 3fc3375e9596bfeeee4d0606ddc22c642ee208c2677506d553e10c50cccad5f7

Contents?: true

Size: 1.24 KB

Versions: 30

Compression:

Stored size: 1.24 KB

Contents

// ==========================================================================
// Project:   SproutCore Costello - Property Observing Library
// Copyright: ©2006-2011 Strobe Inc. and contributors.
//            Portions ©2008-2011 Apple Inc. All rights reserved.
// License:   Licensed under MIT license (see license.js)
// ==========================================================================

/**
  @class

  Implements some standard methods for comparing objects. Add this mixin to
  any class you create that can compare its instances.

  You should implement the compare() method.

  @since SproutCore 1.0
*/
SC.Comparable = {

  /**
    walk like a duck. Indicates that the object can be compared.

    @type Boolean
  */
  isComparable: YES,

  /**
    Override to return the result of the comparison of the two parameters. The
    compare method should return
    
    <pre>
      -1 if a < b
       0 if a == b
       1 if a > b
    </pre>


    Default implementation raises an exception.

    @param a {Object} the first object to compare
    @param b {Object} the second object to compare
    @returns {Integer} the result of the comparison
  */
  compare: function(a, b) {
    throw "%@.compare() is not implemented".fmt(this.toString());
  }

};

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
sproutcore-1.9.2 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.9.1 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.9.0 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.8.2.1 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.8.1 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.8.0 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.7.1.beta-java lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.7.1.beta lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.1-java lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.1 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.1-x86-mingw32 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0-java lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.rc.2-x86-mingw32 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.rc.2 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.rc.2-java lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.rc.1-x86-mingw32 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.rc.1 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.rc.1-java lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js
sproutcore-1.6.0.beta.3-x86-mingw32 lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js