org.salespointframework.core.data.database
Class DefaultClassNameEncoder

java.lang.Object
  extended by org.salespointframework.core.data.database.DefaultClassNameEncoder
All Implemented Interfaces:
ClassNameEncoder

public class DefaultClassNameEncoder
extends java.lang.Object
implements ClassNameEncoder

default implementation for ClassNameEncoder. support two encoding modes: MODE_HASH : hashes string with SHA-1 or MD5 MODE_REPLACE : replaces some chars.

Since:
4.0
Author:
Thomas Kissinger

Field Summary
private static DefaultClassNameEncoder _instance
          singleton instance
private  int mode
          mode used. default is hashed mode
static int MODE_HASH
          hashed mode.
static int MODE_REPLACE
          replaces some chars.
 
Constructor Summary
private DefaultClassNameEncoder()
          default constructor
 
Method Summary
 java.lang.String encode(java.lang.Class c)
          encode the class name
 java.lang.String encode(java.lang.Class c, java.lang.String postfix)
          encode class name with postfix
 java.lang.String encodeRaw(java.lang.String id)
          encode a raw string
static DefaultClassNameEncoder getInstance()
          return _instance
static java.lang.String hashMD5(java.lang.String text)
          performs a Md5 hash in text
static java.lang.String hashSHA1(java.lang.String text)
          performs a SHA-1 hash on text
static java.lang.String hashSHA2(java.lang.String text)
          performs a SHA-512 hash on text
 void setMode(int mode)
          set mode use MODE_HASH or MODE_REPLACE
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_instance

private static DefaultClassNameEncoder _instance
singleton instance


MODE_HASH

public static final int MODE_HASH
hashed mode. SHA-1 or MD5 is used

See Also:
Constant Field Values

MODE_REPLACE

public static final int MODE_REPLACE
replaces some chars.

See Also:
Constant Field Values

mode

private int mode
mode used. default is hashed mode

Constructor Detail

DefaultClassNameEncoder

private DefaultClassNameEncoder()
default constructor

Method Detail

getInstance

public static DefaultClassNameEncoder getInstance()
return _instance

Returns:

setMode

public void setMode(int mode)
set mode use MODE_HASH or MODE_REPLACE

Parameters:
mode - new mode

encode

public java.lang.String encode(java.lang.Class c)
Description copied from interface: ClassNameEncoder
encode the class name

Specified by:
encode in interface ClassNameEncoder
Parameters:
c - class which name should be encoded
Returns:
encoded string
See Also:
ClassNameEncoder.encode(Class)

encode

public java.lang.String encode(java.lang.Class c,
                               java.lang.String postfix)
Description copied from interface: ClassNameEncoder
encode class name with postfix

Specified by:
encode in interface ClassNameEncoder
Parameters:
c - class which name should be encoded
postfix - concat postfix
Returns:
encoded string
See Also:
ClassNameEncoder.encode(Class, String)

encodeRaw

public java.lang.String encodeRaw(java.lang.String id)
Description copied from interface: ClassNameEncoder
encode a raw string

Specified by:
encodeRaw in interface ClassNameEncoder
Parameters:
id - string to encode
Returns:
encoded string
See Also:
ClassNameEncoder.encodeRaw(String)

hashSHA1

public static java.lang.String hashSHA1(java.lang.String text)
performs a SHA-1 hash on text

Parameters:
text - string to hash
Returns:
hashed string

hashSHA2

public static java.lang.String hashSHA2(java.lang.String text)
performs a SHA-512 hash on text

Parameters:
text - string to hash
Returns:
hashed string

hashMD5

public static java.lang.String hashMD5(java.lang.String text)
performs a Md5 hash in text

Parameters:
text - string to hash
Returns:
hashed string