@Override public String messageFullName() { return schema.messageFullName(); }
@Override public String messageFullName() { return wrappedSchema.messageFullName(); }
@Override protected Input begin(Pipe.Schema<?> pipeSchema) throws IOException { if (parser.nextToken() != JsonToken.START_OBJECT) { throw new JsonInputException("Expected token: { but was " + parser.getCurrentToken() + " on message " + pipeSchema.wrappedSchema.messageFullName()); } return jsonInput; }
/** * Merges the {@code message} from the JsonParser using the given {@code schema}. */ public static <T> void mergeFrom(JsonParser parser, T message, Schema<T> schema, boolean numeric) throws IOException { if (parser.nextToken() != JsonToken.START_OBJECT) { throw new JsonInputException("Expected token: { but was " + parser.getCurrentToken() + " on message " + schema.messageFullName()); } schema.mergeFrom(new JsonInput(parser, numeric), message); if (parser.getCurrentToken() != JsonToken.END_OBJECT) { throw new JsonInputException("Expected token: } but was " + parser.getCurrentToken() + " on message " + schema.messageFullName()); } }
@Override public <T> void handleUnknownField(int fieldNumber, Schema<T> schema) throws IOException { final String name = parser.getLocalName(); while (true) { switch (next()) { case END_ELEMENT: if (name.equals(parser.getLocalName())) { // we can skip this unknown scalar field. nextTag(); return; } throw new XmlInputException("Unknown field: " + name + " on message " + schema.messageFullName()); case END_DOCUMENT: // malformed xml. case START_ELEMENT: // message field // we do not know how deep this message is throw new XmlInputException("Unknown field: " + name + " on message " + schema.messageFullName()); } } }
schema.messageFullName()); schema.messageFullName()); schema.messageFullName());
parser.getCurrentToken() + " on message " + schema.messageFullName());
@Override protected void end(Pipe.Schema<?> pipeSchema, Input input, boolean cleanupOnly) throws IOException { if (cleanupOnly) { parser.close(); return; } assert input == jsonInput; final JsonToken token = parser.getCurrentToken(); parser.close(); if (token != JsonToken.END_OBJECT) { throw new JsonInputException("Expected token: } but was " + token + " on message " + pipeSchema.wrappedSchema.messageFullName()); } } };
schema.messageFullName()); schema.messageFullName());
schema.messageFullName()); case END_DOCUMENT: schema.messageFullName());
@Override protected Input begin(Pipe.Schema<?> pipeSchema) throws IOException { if (parser.nextToken() != JsonToken.START_OBJECT) { throw new JsonInputException("Expected token: { but was " + parser.getCurrentToken() + " on message " + pipeSchema.wrappedSchema.messageFullName()); } return jsonInput; }
/** * Merges the {@code message} from the JsonParser using the given {@code schema}. */ public static <T> void mergeFrom(JsonParser parser, T message, Schema<T> schema, boolean numeric) throws IOException { if (parser.nextToken() != JsonToken.START_OBJECT) { throw new JsonInputException("Expected token: { but was " + parser.getCurrentToken() + " on message " + schema.messageFullName()); } schema.mergeFrom(new JsonInput(parser, numeric), message); if (parser.getCurrentToken() != JsonToken.END_OBJECT) { throw new JsonInputException("Expected token: } but was " + parser.getCurrentToken() + " on message " + schema.messageFullName()); } }
schema.messageFullName()); schema.messageFullName()); schema.messageFullName());
parser.getCurrentToken() + " on message " + schema.messageFullName());
@Override protected void end(Pipe.Schema<?> pipeSchema, Input input, boolean cleanupOnly) throws IOException { if (cleanupOnly) { parser.close(); return; } assert input == jsonInput; final JsonToken token = parser.getCurrentToken(); parser.close(); if (token != JsonToken.END_OBJECT) { throw new JsonInputException("Expected token: } but was " + token + " on message " + pipeSchema.wrappedSchema.messageFullName()); } } };
schema.messageFullName()); schema.messageFullName());