@Override public Object deserialize(HbaseCell element, TypeMetadata<HbaseCell> typeMetadata) { String jsonString = Bytes.toString(element.getValue()); JsonParser parser = new JsonParser(); JsonElement jsonElement = parser.parse(jsonString); TypeMetadata<JsonElement> jsonTypeMetadata = new TypeMetadataImpl( typeMetadata, ReflectionUtil.getFieldByName(typeMetadata.getParent(), typeMetadata.getFieldName()), new JsonTypeAdapterFactory(), JsonElement.class); return new JsonMapTypeAdapter().deserialize(jsonElement, jsonTypeMetadata); }
@Override public HbaseCell serialize(Byte object, TypeMetadata<HbaseCell> typeMetadata) { String className = typeMetadata.getParent().getClass().getSimpleName(); return new HbaseCell(className, typeMetadata.getFieldName(), Bytes.toBytes(object)); }
@Override public HbaseCell serialize(Object object, TypeMetadata<HbaseCell> typeMetadata) { String className = typeMetadata.getParent().getClass().getSimpleName(); String jsonString = new JsonMapperImpl().serialize(object); return new HbaseCell(className, typeMetadata.getFieldName(), Bytes.toBytes(jsonString)); }