public class MapSerializer
extends java.lang.Object
SerialName and class names in maps.| Modifier and Type | Class and Description |
|---|---|
class |
MapSerializer.CantProcessException
General error while serializing or deserializing
|
| Modifier and Type | Field and Description |
|---|---|
java.util.HashMap<java.lang.String,java.lang.Class<?>> |
classAliases |
| Constructor and Description |
|---|
MapSerializer() |
| Modifier and Type | Method and Description |
|---|---|
void |
addClassAlias(java.lang.Class<?> cls,
java.lang.String alias)
Set the class name alias for the given Class.
|
static java.lang.String |
camelToSnakeCase(java.lang.String camel)
convert camelCaseString to snake_case_string
|
protected java.lang.Class<?> |
classForName(java.lang.String name)
Could be overriden to support more complicated class-to-name logic.
|
protected java.lang.String |
className(java.lang.Class<?> cls)
Could be overriden to support more complicated class-to-name logic.
|
java.lang.Object |
fromMap(java.util.Map<java.lang.String,java.lang.Object> map)
Instantiate object by its attributes map.
|
<T> T |
fromMap(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.Class<T> cls)
Instantiate object of a given Class and initialize it with attributes in
a map.
|
java.lang.Object |
fromMap(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.String className)
Instantiate object with a given name and attributes map.
|
protected void |
logicError(java.lang.Exception e) |
void |
registerPackage(java.lang.String packageName)
Register all class aliases for a given package.
|
<T> T |
setInstance(java.util.Map<java.lang.String,java.lang.Object> map,
T object)
Set object's fields from the map.
|
static java.lang.String |
snakeToCamelCase(java.lang.String snake)
Convert snake_case to camelCase
|
Binder |
toMap(java.lang.Object object,
boolean includeClass)
Serialize some object to Map, using aliases if any.
|
public java.util.HashMap<java.lang.String,java.lang.Class<?>> classAliases
public void registerPackage(java.lang.String packageName)
throws MapSerializer.CantProcessException
packageName - package name to include all aliased classes from.MapSerializer.CantProcessExceptionpublic void addClassAlias(java.lang.Class<?> cls,
java.lang.String alias)
cls - class to create aliasalias - public Binder toMap(java.lang.Object object, boolean includeClass) throws MapSerializer.CantProcessException
object - what to serializeincludeClass - if true, will add "__class" key with object's class name or alias.MapSerializer.CantProcessExceptionprotected java.lang.String className(java.lang.Class<?> cls)
cls - class to find name forprotected java.lang.Class<?> classForName(java.lang.String name)
throws java.lang.ClassNotFoundException
name - class name or aliasjava.lang.ClassNotFoundExceptionpublic java.lang.Object fromMap(java.util.Map<java.lang.String,java.lang.Object> map)
throws MapSerializer.CantProcessException
map - class name and attributes mapMapSerializer.CantProcessExceptionpublic java.lang.Object fromMap(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.String className)
throws MapSerializer.CantProcessException
map - instance attributesclassName - class name or aliasMapSerializer.CantProcessExceptionpublic <T> T fromMap(java.util.Map<java.lang.String,java.lang.Object> map,
java.lang.Class<T> cls)
throws MapSerializer.CantProcessException
map - attributescls - Class to instantiateMapSerializer.CantProcessExceptionpublic <T> T setInstance(java.util.Map<java.lang.String,java.lang.Object> map,
T object)
throws MapSerializer.CantProcessException
map - map with field valuesobject - object which fields will be filledMapSerializer.CantProcessExceptionprotected void logicError(java.lang.Exception e)
throws MapSerializer.CantProcessException
public static java.lang.String snakeToCamelCase(java.lang.String snake)
snake - snake_case_stringpublic static java.lang.String camelToSnakeCase(java.lang.String camel)
camel - camelString