@SuppressWarnings("unchecked") @Override public <M extends Message> M deserialize(Class<M> clazz) throws IOException { Parser<M> parser = (Parser<M>) Internal.getDefaultInstance(clazz).getParserForType(); try { return parser.parseDelimitedFrom(inputStream); } catch (InvalidProtocolBufferException e) { throw e.unwrapIOException(); } } }
/** * Checks whether paths in a given fields mask are valid. */ public static boolean isValid(Class<? extends Message> type, FieldMask fieldMask) { Descriptor descriptor = Internal.getDefaultInstance(type).getDescriptorForType(); return isValid(descriptor, fieldMask); }
/** * Checks whether a given field path is valid. */ public static boolean isValid(Class<? extends Message> type, String path) { Descriptor descriptor = Internal.getDefaultInstance(type).getDescriptorForType(); return isValid(descriptor, path); }
@SuppressWarnings("unchecked") @Override public <M extends Message> M deserialize(Class<M> clazz) throws IOException { Parser<M> parser = (Parser<M>) Internal.getDefaultInstance(clazz).getParserForType(); try { return parser.parseDelimitedFrom(inputStream); } catch (InvalidProtocolBufferException e) { throw e.unwrapIOException(); } } }
@SuppressWarnings("unchecked") @Override public <M extends Message> M deserialize(Class<M> clazz) throws IOException { Parser<M> parser = (Parser<M>) Internal.getDefaultInstance(clazz).getParserForType(); try { return parser.parseDelimitedFrom(inputStream); } catch (InvalidProtocolBufferException e) { throw e.unwrapIOException(); } } }
/** * Constructs a FieldMask from the passed field numbers. * * @throws IllegalArgumentException if any of the fields are invalid for the message. */ public static FieldMask fromFieldNumbers( Class<? extends Message> type, Iterable<Integer> fieldNumbers) { Descriptor descriptor = Internal.getDefaultInstance(type).getDescriptorForType(); FieldMask.Builder builder = FieldMask.newBuilder(); for (Integer fieldNumber : fieldNumbers) { FieldDescriptor field = descriptor.findFieldByNumber(fieldNumber); checkArgument( field != null, String.format("%s is not a valid field number for %s.", fieldNumber, type)); builder.addPaths(field.getName()); } return builder.build(); }