Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
SortMapBy |
|
| 0.0;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.as3collections |
31 | { | |
32 | import flash.errors.IllegalOperationError; | |
33 | ||
34 | import org.as3coreaddendum.system.Enum; | |
35 | ||
36 | /** | |
37 | * The enumeration class that defines the acceptable values for sort maps by keys or values. | |
38 | * <p>This is a type-safe enumeration class, which means there is no possibility of creating instances externally. | |
39 | * All acceptable values will be created automaticaly by this class internaly, through the constants.</p> | |
40 | * | |
41 | * @author Flávio Silva | |
42 | */ | |
43 | public class SortMapBy extends Enum | |
44 | { | |
45 | /** | |
46 | * Defines the constant that indicates that the map should be sorted by its keys. | |
47 | */ | |
48 | public static const KEY : SortMapBy = new SortMapBy("Key", 0); | |
49 | ||
50 | /** | |
51 | * Defines the constant that indicates that the map should be sorted by its values. | |
52 | */ | |
53 | public static const VALUE : SortMapBy = new SortMapBy("Value", 1); | |
54 | ||
55 | /** | |
56 | * @private | |
57 | */ | |
58 | private static var _created :Boolean = false; | |
59 | ||
60 | { | |
61 | _created = true; | |
62 | } | |
63 | ||
64 | /** | |
65 | * Constructor, creates a new <code>SortMapBy</code> object. | |
66 | * | |
67 | * @param name The name of this enumeration constant. | |
68 | * @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). | |
69 | * @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. | |
70 | */ | |
71 | public function SortMapBy(name:String, ordinal:int) | |
72 | { | |
73 | 1 | super(name, ordinal); |
74 | 1 | if (_created) throw new IllegalOperationError("The set of acceptable values by this Enumerated Type has already been created internally."); |
75 | 1 | } |
76 | ||
77 | } | |
78 | ||
79 | } |