public <T> T deserialize(final byte[] bytes) { try { Schema<VO> schema = getSchema(VO.class); VO vo = deserializeInternal(bytes, schema.newMessage(), schema); if (vo != null && vo.getValue() != null) { return (T) vo.getValue(); } } catch (final Exception e) { throw new IllegalStateException(e.getMessage(), e); } return null; }
/** * Returns a new message that will be merged from the input. */ public <T> T parseFrom(byte[] data, int offset, int len, Schema<T> schema) { T message = schema.newMessage(); mergeFrom(data, offset, len, message, schema); return message; }
@SuppressWarnings("unchecked") public <T> T mergeObject(T value, Schema<T> schema) throws IOException { if(messageReference) { // a reference. return (T)references.get(lastRef); } lastSchema = (Schema<Object>)schema; if(value == null) value = schema.newMessage(); references.add(value); input.mergeObject(value, this); return value; }
@SuppressWarnings("unchecked") public <T> T mergeObject(T value, Schema<T> schema) throws IOException { if(messageReference) { // a reference. return (T)references.get(lastRef); } lastSchema = (Schema<Object>)schema; if(value == null) value = schema.newMessage(); references.add(value); input.mergeObject(value, this); return value; }
@Override public T deserialize(final byte[] raw) throws IOException { final B builder = readSchema.newMessage(); JsonIOUtil.mergeFrom(raw, builder, readSchema, false); return (T)builder.build(); }
/** * @see com.kixeye.chassis.transport.serde.MessageSerDe#deserialize(byte[], int, int, java.lang.Class) */ public <T> T deserialize(byte[] data, int offset, int length, Class<T> clazz) throws IOException { Schema<T> schema = RuntimeSchema.getSchema(clazz); T obj = schema.newMessage(); ProtobufIOUtil.mergeFrom(data, offset, length, obj, schema); return obj; }
@Override public <T> T deserialize(byte[] buf, Class<T> type) throws IOException { Schema<T> schema = getSchema(type); T msg = schema.newMessage(); ProtostuffIOUtil.mergeFrom(buf, msg, schema); return (T) msg; }
/** * Parse one object of type <code>clazz</code> from the byte array. * * @param <T> the object type * @param data the object represented in wire format * @param clazz the object type * @return the object */ public static final <T> T parseOne(byte[] data, Class<T> clazz) { Schema<T> schema = RuntimeSchema.getSchema(clazz); T ret = schema.newMessage(); ProtostuffIOUtil.mergeFrom(data, ret, schema); return ret; }
/** * @see com.kixeye.chassis.transport.serde.MessageSerDe#deserialize(java.io.InputStream, java.lang.Class) */ public <T> T deserialize(InputStream stream, Class<T> clazz) throws IOException { Schema<T> schema = RuntimeSchema.getSchema(clazz); T obj = schema.newMessage(); LinkedBuffer linkedBuffer = LinkedBuffer.allocate(256); ProtobufIOUtil.mergeFrom(stream, obj, schema, linkedBuffer); return obj; }
private <T> T mergeObjectEncodedAsGroup(T value, final Schema<T> schema) throws IOException { if(value == null) value = schema.newMessage(); schema.mergeFrom(this, value); if(!schema.isInitialized(value)) throw new UninitializedMessageException(value, schema); // handling is in #readFieldNumber checkLastTagWas(0); return value; }
private <T> T mergeObjectEncodedAsGroup(T value, final Schema<T> schema) throws IOException { if(value == null) value = schema.newMessage(); schema.mergeFrom(this, value); if(!schema.isInitialized(value)) throw new UninitializedMessageException(value, schema); // handling is in #readFieldNumber checkLastTagWas(0); return value; }
public <T> T mergeObject(T value, final Schema<T> schema) throws IOException { emptyMessage = nextTag() == END_ELEMENT; if(value == null) value = schema.newMessage(); schema.mergeFrom(this, value); if(!schema.isInitialized(value)) throw new UninitializedMessageException(value, schema); // onto the next nextTag(); return value; }
/** Reads a message field value from the stream (using the {@code group} encoding). */ private <T> T mergeObjectEncodedAsGroup(T value, final Schema<T> schema) throws IOException { //if (recursionDepth >= recursionLimit) { // throw ProtobufException.recursionLimitExceeded(); //} //++recursionDepth; if(value == null) { value = schema.newMessage(); } schema.mergeFrom(this, value); if(!schema.isInitialized(value)) { throw new UninitializedMessageException(value, schema); } // handling is in #readFieldNumber checkLastTagWas(0); //--recursionDepth; return value; }
@Override public <T> T deserialize(byte[] bytes, Class<T> clazz) throws DeserializerException { try { Schema<T> schema = RuntimeSchema.getSchema(clazz); T result = schema.newMessage(); ProtostuffIOUtil.mergeFrom(bytes, result, schema); return result; } catch (Exception e) { throw new DeserializerException(e.getMessage(), e); } }
@Override public <T> T deserialize(InputStream inputStream, Class<T> clazz) throws DeserializerException { try { Schema<T> schema = RuntimeSchema.getSchema(clazz); T result = schema.newMessage(); ProtobufIOUtil.mergeDelimitedFrom(inputStream, result, schema); return result; } catch (Exception e) { throw new DeserializerException(e.getMessage(), e); } } }
@Override public <T> T deserialize(InputStream inputStream, Class<T> clazz) throws DeserializerException { try { Schema<T> schema = RuntimeSchema.getSchema(clazz); T result = schema.newMessage(); ProtostuffIOUtil.mergeDelimitedFrom(inputStream, result, schema); return result; } catch (Exception e) { throw new DeserializerException(e.getMessage(), e); } } }
@Override public <T> T deserialize(byte[] bytes, Class<T> clazz) throws DeserializerException { try { Schema<T> schema = RuntimeSchema.getSchema(clazz); T result = schema.newMessage(); ProtobufIOUtil.mergeFrom(bytes, result, schema); return result; } catch (Exception e) { throw new DeserializerException(e.getMessage(), e); } }
public <T> T mergeObject(T value, final Schema<T> schema) throws IOException { if(decodeNestedMessageAsGroup) return mergeObjectEncodedAsGroup(value, schema); final int length = readRawVarint32(); if(length < 0) throw ProtobufException.negativeSize(); // save old limit final int oldLimit = this.limit; this.limit = offset + length; if(value == null) value = schema.newMessage(); schema.mergeFrom(this, value); if(!schema.isInitialized(value)) throw new UninitializedMessageException(value, schema); checkLastTagWas(0); // restore old limit this.limit = oldLimit; return value; }
public <T> T mergeObject(T value, final Schema<T> schema) throws IOException { if(decodeNestedMessageAsGroup) return mergeObjectEncodedAsGroup(value, schema); final int length = readRawVarint32(); if(length < 0) throw ProtobufException.negativeSize(); // save old limit final int oldLimit = this.limit; this.limit = offset + length; if(value == null) value = schema.newMessage(); schema.mergeFrom(this, value); if(!schema.isInitialized(value)) throw new UninitializedMessageException(value, schema); checkLastTagWas(0); // restore old limit this.limit = oldLimit; return value; }
public <T> T mergeObject(T value, final Schema<T> schema) throws IOException { if(decodeNestedMessageAsGroup) return mergeObjectEncodedAsGroup(value, schema); final int length = readRawVarint32(); //if (recursionDepth >= recursionLimit) { // throw ProtobufException.recursionLimitExceeded(); //} final int oldLimit = pushLimit(length); //++recursionDepth; if(value == null) { value = schema.newMessage(); } schema.mergeFrom(this, value); if(!schema.isInitialized(value)) { throw new UninitializedMessageException(value, schema); } checkLastTagWas(0); //--recursionDepth; popLimit(oldLimit); return value; }