@Override protected <T> HasSchema<T> writePojoIdTo(Output output, int fieldNumber, Class<T> clazz) throws IOException { output.writeString(fieldNumber, clazz.getName(), false); // it is important to return the schema initialized (if it hasn't been). return getSchemaWrapper(clazz, true); }
@Override protected <T> HasSchema<T> writePojoIdTo(Output output, int fieldNumber, Class<T> clazz) throws IOException { output.writeString(fieldNumber, clazz.getName(), false); // it is important to return the schema initialized (if it hasn't been). return getSchemaWrapper(clazz, true); }
@Override protected <T> HasSchema<T> tryWritePojoIdTo(Output output, int fieldNumber, Class<T> clazz, boolean registered) throws IOException { HasSchema<T> hs = getSchemaWrapper(clazz, false); if (hs == null || (registered && hs instanceof Lazy<?>)) return null; output.writeString(fieldNumber, clazz.getName(), false); return hs; }
@Override protected <T> HasSchema<T> tryWritePojoIdTo(Output output, int fieldNumber, Class<T> clazz, boolean registered) throws IOException { HasSchema<T> hs = getSchemaWrapper(clazz, false); if (hs == null || (registered && hs instanceof Lazy<?>)) return null; output.writeString(fieldNumber, clazz.getName(), false); return hs; }
@Override protected <T> HasSchema<T> resolvePojoFrom(Input input, int fieldNumber) throws IOException { final String className = input.readString(); final HasSchema<T> wrapper = getSchemaWrapper(className, 0 != (AUTO_LOAD_POLYMORPHIC_CLASSES & flags)); if (wrapper == null) throw new ProtostuffException("polymorphic pojo not registered: " + className); return wrapper; }
@Override protected <T> HasSchema<T> resolvePojoFrom(Input input, int fieldNumber) throws IOException { final String className = input.readString(); final HasSchema<T> wrapper = getSchemaWrapper(className, 0 != (AUTO_LOAD_POLYMORPHIC_CLASSES & flags)); if (wrapper == null) throw new ProtostuffException("polymorphic pojo not registered: " + className); return wrapper; }
@Override protected <T> HasSchema<T> transferPojoId(Input input, Output output, int fieldNumber) throws IOException { final String className = input.readString(); final HasSchema<T> wrapper = getSchemaWrapper(className, 0 != (AUTO_LOAD_POLYMORPHIC_CLASSES & flags)); if (wrapper == null) { throw new ProtostuffException("polymorphic pojo not registered: " + className); } output.writeString(fieldNumber, className, false); return wrapper; }
@Override protected <T> HasSchema<T> transferPojoId(Input input, Output output, int fieldNumber) throws IOException { final String className = input.readString(); final HasSchema<T> wrapper = getSchemaWrapper(className, 0 != (AUTO_LOAD_POLYMORPHIC_CLASSES & flags)); if (wrapper == null) { throw new ProtostuffException("polymorphic pojo not registered: " + className); } output.writeString(fieldNumber, className, false); return wrapper; }