com.jp.protection.priv.pro
Class SerialNumberBase

java.lang.Object
  extended by com.jp.protection.priv.pro.SerialNumberBase
Direct Known Subclasses:
SerialNumber, SerialNumber2

public abstract class SerialNumberBase
extends java.lang.Object


Nested Class Summary
static class SerialNumberBase.KeyCharsGenerator
          Utility class that allows generation of the key characters
 
Field Summary
protected  char[] fKeyChars
           
protected  int fKeyCharsStartOffset
           
static int N_A
           
static java.lang.String PATTERN
           
static char PATTERN_CHAR
           
static java.lang.String PATTERN_DELIMITER
           
 
Constructor Summary
protected SerialNumberBase()
          Creates a new instance of the SerialNumberBase
protected SerialNumberBase(char[] aKeyChars)
          Creates a new instance of the SerialNumberBase and assigns key characters to it
 
Method Summary
protected static void checkValidChars(char[] aKeyChars, java.lang.String aNumber)
           
protected static boolean contains(char[] aKeyChars, char aChar)
           
protected static java.lang.String decode(char[] aKeyChars, java.lang.String aNumber)
           
abstract  void decode(java.lang.String aSerialNumber)
          Parses textual representation of the Serial Number
abstract  java.lang.String encode()
          Generates textual representation of the Serial Number
protected static java.lang.String encode(char[] aKeyChars, int aKeyCharsStartOffset, byte[] aNumber, boolean isSkipLength)
           
protected static java.lang.String encode(char[] aKeyChars, int aKeyCharsStartOffset, java.lang.String aNumber, boolean isSkipLength)
           
protected  long generateCRC(java.lang.String aValue)
           
 char[] getKeyChars()
          Return key characters used to encode/decode serial numbers
protected static int getOffset(char[] aKeyChars)
           
protected static void invalidSerialNumberError(java.lang.String aSerialNumber)
           
protected  void keyCharsNotSpecifiedError()
           
 void setKeyChars(char[] aKeyChars)
          Specifies key characters used to encode/decode serial numbers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

N_A

public static int N_A

fKeyCharsStartOffset

protected int fKeyCharsStartOffset

fKeyChars

protected char[] fKeyChars

PATTERN

public static final java.lang.String PATTERN
See Also:
Constant Field Values

PATTERN_CHAR

public static final char PATTERN_CHAR
See Also:
Constant Field Values

PATTERN_DELIMITER

public static final java.lang.String PATTERN_DELIMITER
See Also:
Constant Field Values
Constructor Detail

SerialNumberBase

protected SerialNumberBase(char[] aKeyChars)
Creates a new instance of the SerialNumberBase and assigns key characters to it

Parameters:
aKeyChars - key characters

SerialNumberBase

protected SerialNumberBase()
Creates a new instance of the SerialNumberBase

Method Detail

encode

public abstract java.lang.String encode()
                                 throws SerialNumberException
Generates textual representation of the Serial Number

Returns:
textual representation of the Serial Number
Throws:
SerialNumberException - on any errors

decode

public abstract void decode(java.lang.String aSerialNumber)
                     throws SerialNumberException
Parses textual representation of the Serial Number

Parameters:
aSerialNumber - textual representation of the Serial Number
Throws:
SerialNumberException - if provided textual representation of the Serial Number is invalid

getKeyChars

public char[] getKeyChars()
Return key characters used to encode/decode serial numbers

Returns:
key characters

generateCRC

protected long generateCRC(java.lang.String aValue)

invalidSerialNumberError

protected static void invalidSerialNumberError(java.lang.String aSerialNumber)
                                        throws SerialNumberException
Throws:
SerialNumberException

keyCharsNotSpecifiedError

protected void keyCharsNotSpecifiedError()
                                  throws SerialNumberException
Throws:
SerialNumberException

setKeyChars

public void setKeyChars(char[] aKeyChars)
Specifies key characters used to encode/decode serial numbers

Parameters:
aKeyChars - char[] key characters

getOffset

protected static int getOffset(char[] aKeyChars)

contains

protected static boolean contains(char[] aKeyChars,
                                  char aChar)

checkValidChars

protected static void checkValidChars(char[] aKeyChars,
                                      java.lang.String aNumber)

decode

protected static java.lang.String decode(char[] aKeyChars,
                                         java.lang.String aNumber)
                                  throws SerialNumberException
Throws:
SerialNumberException

encode

protected static java.lang.String encode(char[] aKeyChars,
                                         int aKeyCharsStartOffset,
                                         java.lang.String aNumber,
                                         boolean isSkipLength)

encode

protected static java.lang.String encode(char[] aKeyChars,
                                         int aKeyCharsStartOffset,
                                         byte[] aNumber,
                                         boolean isSkipLength)