Coverage Report - org.as3coreaddendum.system.comparators.AlphabeticalComparison
 
Classes in this File Line Coverage Branch Coverage Complexity
AlphabeticalComparison
100%
4/4
N/A
0
 
 1  
 /*
 2  
  * Licensed under the MIT License
 3  
  * 
 4  
  * Copyright 2010 (c) Flávio Silva, http://flsilva.com
 5  
  *
 6  
  * Permission is hereby granted, free of charge, to any person
 7  
  * obtaining a copy of this software and associated documentation
 8  
  * files (the "Software"), to deal in the Software without
 9  
  * restriction, including without limitation the rights to use,
 10  
  * copy, modify, merge, publish, distribute, sublicense, and/or sell
 11  
  * copies of the Software, and to permit persons to whom the
 12  
  * Software is furnished to do so, subject to the following
 13  
  * conditions:
 14  
  *
 15  
  * The above copyright notice and this permission notice shall be
 16  
  * included in all copies or substantial portions of the Software.
 17  
  *
 18  
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 19  
  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 20  
  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 21  
  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 22  
  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 23  
  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 24  
  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 25  
  * OTHER DEALINGS IN THE SOFTWARE.
 26  
  * 
 27  
  * http://www.opensource.org/licenses/mit-license.php
 28  
  */
 29  
 
 30  1
 package org.as3coreaddendum.system.comparators {
 31  
         import org.as3coreaddendum.system.Enum;
 32  
 
 33  
         import flash.errors.IllegalOperationError;
 34  
 
 35  
         /**
 36  
          * The enumeration class that defines the acceptable values for the <code>AlphabeticalComparator</code>.
 37  
          * <p>This is a type-safe enumeration class, which means there is no possibility of creating instances externally.
 38  
          * All acceptable values will be created automaticaly by this class internaly, through its constants.</p>
 39  
          * 
 40  
          * @author Flávio Silva
 41  
          */
 42  
         public class AlphabeticalComparison extends Enum
 43  
         {
 44  
 
 45  
                 /**
 46  
                  * Defines the constant which indicates that the comparison should ignore case.
 47  
                  */
 48  
                 public static const CASE_INSENSITIVE        : AlphabeticalComparison = new AlphabeticalComparison("Case Insensitive", 0);
 49  
 
 50  
                 /**
 51  
                  * Defines the constant which indicates that the comparison should return lower case first.
 52  
                  */
 53  
                 public static const LOWER_CASE_FIRST        : AlphabeticalComparison = new AlphabeticalComparison("Lower Case First", 1);
 54  
 
 55  
                 /**
 56  
                  * Defines the constant which indicates that the comparison should return upper case first.
 57  
                  */
 58  
                 public static const UPPER_CASE_FIRST        : AlphabeticalComparison = new AlphabeticalComparison("Upper Case First", 2);
 59  
 
 60  
                 /**
 61  
                  * @private
 62  
                  */
 63  
                 private static var _created :Boolean = false;
 64  
                 
 65  
                 {
 66  
                         _created = true;
 67  
                 }
 68  
 
 69  
                 /**
 70  
                  * Constructor, creates a new AlphabeticalComparison object.
 71  
                  * 
 72  
                  * @param         name                         The name of this enumeration constant.
 73  
                  * @param         ordinal                 The ordinal of this enumeration constant, that is its position in the enum declaration (where the initial constant is assigned an ordinal of zero).
 74  
                  * @throws         IllegalOperationError         If there is an attempt to instantiation outside the internal code of this class. All acceptable values will be created automaticaly by this class internaly, through the constants. There's no possibility to use this constructor externally.
 75  
                  */
 76  
                 public function AlphabeticalComparison(name:String, ordinal:int)
 77  
                 {
 78  1
                         super(name, ordinal);
 79  1
                         if (_created) throw new IllegalOperationError("The set of acceptable values by this Enumerated Type has already been created internally.");
 80  1
                 }
 81  
 
 82  
         }
 83  
 
 84  
 }