Search in sources :

Example 71 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BindBeanSharedPreferences method serializeValueLinkedMapStringBean.

/**
 * for attribute valueLinkedMapStringBean serialization
 */
protected String serializeValueLinkedMapStringBean(LinkedHashMap<String, Bean> value) {
    if (value == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (KriptonByteArrayOutputStream stream = new KriptonByteArrayOutputStream();
        JacksonWrapperSerializer wrapper = context.createSerializer(stream)) {
        JsonGenerator jacksonSerializer = wrapper.jacksonGenerator;
        jacksonSerializer.writeStartObject();
        int fieldCount = 0;
        if (value != null) {
            fieldCount++;
            // write wrapper tag
            if (value.size() > 0) {
                jacksonSerializer.writeFieldName("valueLinkedMapStringBean");
                jacksonSerializer.writeStartArray();
                for (Map.Entry<String, Bean> item : value.entrySet()) {
                    jacksonSerializer.writeStartObject();
                    jacksonSerializer.writeStringField("key", item.getKey());
                    if (item.getValue() == null) {
                        jacksonSerializer.writeNullField("value");
                    } else {
                        jacksonSerializer.writeFieldName("value");
                        beanBindMap.serializeOnJackson(item.getValue(), jacksonSerializer);
                    }
                    jacksonSerializer.writeEndObject();
                }
                jacksonSerializer.writeEndArray();
            } else {
                jacksonSerializer.writeNullField("valueLinkedMapStringBean");
            }
        }
        jacksonSerializer.writeEndObject();
        jacksonSerializer.flush();
        return stream.toString();
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonByteArrayOutputStream(com.abubusoft.kripton.common.KriptonByteArrayOutputStream) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperSerializer(com.abubusoft.kripton.persistence.JacksonWrapperSerializer) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException)

Example 72 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BindBeanSharedPreferences method serializeValueLongList.

/**
 * for attribute valueLongList serialization
 */
protected String serializeValueLongList(LinkedList<Long> value) {
    if (value == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (KriptonByteArrayOutputStream stream = new KriptonByteArrayOutputStream();
        JacksonWrapperSerializer wrapper = context.createSerializer(stream)) {
        JsonGenerator jacksonSerializer = wrapper.jacksonGenerator;
        jacksonSerializer.writeStartObject();
        int fieldCount = 0;
        if (value != null) {
            fieldCount++;
            int n = value.size();
            Long item;
            // write wrapper tag
            jacksonSerializer.writeFieldName("valueLongList");
            jacksonSerializer.writeStartArray();
            for (int i = 0; i < n; i++) {
                item = value.get(i);
                if (item == null) {
                    jacksonSerializer.writeNull();
                } else {
                    jacksonSerializer.writeNumber(item);
                }
            }
            jacksonSerializer.writeEndArray();
        }
        jacksonSerializer.writeEndObject();
        jacksonSerializer.flush();
        return stream.toString();
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonByteArrayOutputStream(com.abubusoft.kripton.common.KriptonByteArrayOutputStream) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperSerializer(com.abubusoft.kripton.persistence.JacksonWrapperSerializer) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException)

Example 73 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BindBeanSharedPreferences method serializeValueBean.

/**
 * for attribute valueBean serialization
 */
protected String serializeValueBean(Bean value) {
    if (value == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (KriptonByteArrayOutputStream stream = new KriptonByteArrayOutputStream();
        JacksonWrapperSerializer wrapper = context.createSerializer(stream)) {
        JsonGenerator jacksonSerializer = wrapper.jacksonGenerator;
        int fieldCount = 0;
        if (value != null) {
            fieldCount++;
            beanBindMap.serializeOnJackson(value, jacksonSerializer);
        }
        jacksonSerializer.flush();
        return stream.toString();
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonByteArrayOutputStream(com.abubusoft.kripton.common.KriptonByteArrayOutputStream) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperSerializer(com.abubusoft.kripton.persistence.JacksonWrapperSerializer) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException)

Example 74 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BindBeanSharedPreferences method parseValueCharTypeArray.

/**
 * for attribute valueCharTypeArray parsing
 */
protected char[] parseValueCharTypeArray(String input) {
    if (input == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (JacksonWrapperParser wrapper = context.createParser(input)) {
        JsonParser jacksonParser = wrapper.jacksonParser;
        // START_OBJECT
        jacksonParser.nextToken();
        // value of "element"
        jacksonParser.nextValue();
        char[] result = null;
        if (jacksonParser.currentToken() == JsonToken.START_ARRAY) {
            ArrayList<Character> collection = new ArrayList<>();
            Character item = null;
            while (jacksonParser.nextToken() != JsonToken.END_ARRAY) {
                if (jacksonParser.currentToken() == JsonToken.VALUE_NULL) {
                    item = null;
                } else {
                    item = Character.valueOf((char) jacksonParser.getIntValue());
                }
                collection.add(item);
            }
            result = CollectionUtils.asCharacterTypeArray(collection);
        }
        return result;
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : ArrayList(java.util.ArrayList) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperParser(com.abubusoft.kripton.persistence.JacksonWrapperParser) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) JsonParser(com.fasterxml.jackson.core.JsonParser)

Example 75 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BindBeanSharedPreferences method serializeValueCharList.

/**
 * for attribute valueCharList serialization
 */
protected String serializeValueCharList(LinkedList<Character> value) {
    if (value == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (KriptonByteArrayOutputStream stream = new KriptonByteArrayOutputStream();
        JacksonWrapperSerializer wrapper = context.createSerializer(stream)) {
        JsonGenerator jacksonSerializer = wrapper.jacksonGenerator;
        jacksonSerializer.writeStartObject();
        int fieldCount = 0;
        if (value != null) {
            fieldCount++;
            int n = value.size();
            Character item;
            // write wrapper tag
            jacksonSerializer.writeFieldName("valueCharList");
            jacksonSerializer.writeStartArray();
            for (int i = 0; i < n; i++) {
                item = value.get(i);
                if (item == null) {
                    jacksonSerializer.writeNull();
                } else {
                    jacksonSerializer.writeNumber(item);
                }
            }
            jacksonSerializer.writeEndArray();
        }
        jacksonSerializer.writeEndObject();
        jacksonSerializer.flush();
        return stream.toString();
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonByteArrayOutputStream(com.abubusoft.kripton.common.KriptonByteArrayOutputStream) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperSerializer(com.abubusoft.kripton.persistence.JacksonWrapperSerializer) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException)

Aggregations

KriptonJsonContext (com.abubusoft.kripton.KriptonJsonContext)518 KriptonRuntimeException (com.abubusoft.kripton.exception.KriptonRuntimeException)514 KriptonByteArrayOutputStream (com.abubusoft.kripton.common.KriptonByteArrayOutputStream)257 JacksonWrapperParser (com.abubusoft.kripton.persistence.JacksonWrapperParser)257 JacksonWrapperSerializer (com.abubusoft.kripton.persistence.JacksonWrapperSerializer)257 JsonGenerator (com.fasterxml.jackson.core.JsonGenerator)257 JsonParser (com.fasterxml.jackson.core.JsonParser)257 ArrayList (java.util.ArrayList)142 HashMap (java.util.HashMap)42 HashSet (java.util.HashSet)40 LinkedHashSet (java.util.LinkedHashSet)38 LinkedList (java.util.LinkedList)26 Map (java.util.Map)23 BeanInner (sqlite.kripton58.BeanInner)18 LinkedHashMap (java.util.LinkedHashMap)16 BigDecimal (java.math.BigDecimal)12 Time (java.sql.Time)10 Date (java.util.Date)2 Test (org.junit.Test)2 AbstractBaseTest (bind.AbstractBaseTest)1