001    package railo.runtime.type.scope;
002    
003    import railo.runtime.op.Caster;
004    import railo.runtime.type.KeyImpl;
005    
006    public final class ArgumentIntKey extends KeyImpl {
007            
008            private static final ArgumentIntKey[] KEYS = new ArgumentIntKey[]{
009                    new ArgumentIntKey(0),
010                    new ArgumentIntKey(1),
011                    new ArgumentIntKey(2),
012                    new ArgumentIntKey(3),
013                    new ArgumentIntKey(4),
014                    new ArgumentIntKey(5),
015                    new ArgumentIntKey(6),
016                    new ArgumentIntKey(7),
017                    new ArgumentIntKey(8),
018                    new ArgumentIntKey(9),
019                    new ArgumentIntKey(10),
020                    new ArgumentIntKey(11),
021                    new ArgumentIntKey(12),
022                    new ArgumentIntKey(13),
023                    new ArgumentIntKey(14),
024                    new ArgumentIntKey(15),
025                    new ArgumentIntKey(16),
026                    new ArgumentIntKey(17),
027            };
028            
029            private int intKey;
030    
031            public ArgumentIntKey(int key) {
032                    super(Caster.toString(key));
033                    
034                    this.intKey=key;
035            }
036    
037            public int getIntKey() {
038                    return intKey;
039            }
040    
041            public static ArgumentIntKey init(int i) {
042                    if(i>=0 && i<KEYS.length) return KEYS[i];
043                    return new ArgumentIntKey(i);
044            }
045    }