/**
* Packer version 3.0 (final)
* Copyright 2004-2007, Dean Edwards
* Web: {@link http://dean.edwards.name/}
*
* This software is licensed under the MIT license
* Web: {@link http://www.opensource.org/licenses/mit-license}
*
* Ported to Java by Pablo Santiago based on C# version by Jesse Hansen, <twindagger2k @ msn.com>
* Web: {@link http://jpacker.googlecode.com/}
* Email: <pablo.santiago @ gmail.com>
*/
package com.jpacker;
import com.jpacker.encoders.BasicEncoder;
import com.jpacker.encoders.Encoder;
import com.jpacker.encoders.HighAsciiEncoder;
import com.jpacker.encoders.MidEncoder;
import com.jpacker.encoders.NormalEncoder;
import com.jpacker.encoders.NumericEncoder;
/**
* Enum of encoding levels
*
* @author Pablo Santiago <pablo.santiago @ gmail.com>
*
*/
public enum JPackerEncoding {
/**
* No encoding
*/
NONE(0, "", null),
/**
* Base<sub>10</sub> : [0-9]
*/
NUMERIC(10, "String", new NumericEncoder()),
/**
* Base<sub>36</sub> : [0-z]
*/
MID(36, "function(c){return c.toString(a)}", new MidEncoder()),
/**
* Base<sub>52</sub> : [a-Z]
*/
BASIC(52, "function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>25?String.fromCharCode(c+39):String.fromCharCode(c+97));", new BasicEncoder()),
/**
* Base<sub>62</sub> : [0-Z]
*/
NORMAL(62, "function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))}", new NormalEncoder()),
/**
* Base<sub>95</sub> : [¡-ÿ]
*/
HIGH_ASCII(95, "function(c){return(c<a?\"\":e(c/a))String.fromCharCode(c%a+161)}", new HighAsciiEncoder());
private final int encodingBase;
private final String encode;
private Encoder encoder;
JPackerEncoding(int encodingBase, String encode, Encoder encoder) {
this.encodingBase = encodingBase;
this.encode = encode;
this.encoder = encoder;
}
public int getEncodingBase() {
return encodingBase;
}
public String getEncode() {
return encode;
}
public Encoder getEncoder() {
return encoder;
}
}