use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.
the class BeanTable method serializeValueBeanSet.
/**
* for attribute valueBeanSet serialization
*/
public static byte[] serializeValueBeanSet(LinkedHashSet<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
jacksonSerializer.writeFieldName("element");
jacksonSerializer.writeStartArray();
for (Bean item : value) {
if (item == null) {
jacksonSerializer.writeNull();
} else {
beanBindMap.serializeOnJackson(item, jacksonSerializer);
}
}
jacksonSerializer.writeEndArray();
}
jacksonSerializer.writeEndObject();
jacksonSerializer.flush();
return stream.toByteArray();
} catch (Exception e) {
throw (new KriptonRuntimeException(e.getMessage()));
}
}
use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.
the class BeanTable method parseValueStringSet.
/**
* for attribute valueStringSet parsing
*/
public static HashSet<String> parseValueStringSet(byte[] 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();
HashSet<String> result = null;
if (jacksonParser.currentToken() == JsonToken.START_ARRAY) {
HashSet<String> collection = new HashSet<>();
String item = null;
while (jacksonParser.nextToken() != JsonToken.END_ARRAY) {
if (jacksonParser.currentToken() == JsonToken.VALUE_NULL) {
item = null;
} else {
item = jacksonParser.getText();
}
collection.add(item);
}
result = collection;
}
return result;
} catch (Exception e) {
throw (new KriptonRuntimeException(e.getMessage()));
}
}
use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.
the class BeanTable method parseValueByteSet.
/**
* for attribute valueByteSet parsing
*/
public static Set<Byte> parseValueByteSet(byte[] 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();
Set<Byte> result = null;
if (jacksonParser.currentToken() == JsonToken.START_ARRAY) {
HashSet<Byte> collection = new HashSet<>();
Byte item = null;
while (jacksonParser.nextToken() != JsonToken.END_ARRAY) {
if (jacksonParser.currentToken() == JsonToken.VALUE_NULL) {
item = null;
} else {
item = jacksonParser.getByteValue();
}
collection.add(item);
}
result = collection;
}
return result;
} catch (Exception e) {
throw (new KriptonRuntimeException(e.getMessage()));
}
}
use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.
the class BeanTable method serializeValueEnumTypeSet.
/**
* for attribute valueEnumTypeSet serialization
*/
public static byte[] serializeValueEnumTypeSet(HashSet<EnumType> 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
jacksonSerializer.writeFieldName("element");
jacksonSerializer.writeStartArray();
for (EnumType item : value) {
if (item == null) {
jacksonSerializer.writeNull();
} else {
jacksonSerializer.writeString(item.toString());
}
}
jacksonSerializer.writeEndArray();
}
jacksonSerializer.writeEndObject();
jacksonSerializer.flush();
return stream.toByteArray();
} catch (Exception e) {
throw (new KriptonRuntimeException(e.getMessage()));
}
}
use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.
the class BeanTable method parseValueEnumTypeSet.
/**
* for attribute valueEnumTypeSet parsing
*/
public static HashSet<EnumType> parseValueEnumTypeSet(byte[] 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();
HashSet<EnumType> result = null;
if (jacksonParser.currentToken() == JsonToken.START_ARRAY) {
HashSet<EnumType> collection = new HashSet<>();
EnumType item = null;
while (jacksonParser.nextToken() != JsonToken.END_ARRAY) {
if (jacksonParser.currentToken() == JsonToken.VALUE_NULL) {
item = null;
} else {
{
String tempEnum = jacksonParser.getText();
item = StringUtils.hasText(tempEnum) ? EnumType.valueOf(tempEnum) : null;
}
}
collection.add(item);
}
result = collection;
}
return result;
} catch (Exception e) {
throw (new KriptonRuntimeException(e.getMessage()));
}
}
Aggregations