/** * Read the current character, making sure that it is the expected character. Advances the pointer to the next character. * * @param ch the character expected * @throws JSONParseException if the current character does not match the given character */ public void read(final char ch) { if (!check(ch)) { throw new JSONParseException(s, pos); } pos++; }
/** * <p>Serializes an object into its JSON form.</p> * * <p>This method delegates serialization to {@code JSONSerializers.getLegacy}</p> * * @param object object to serialize * @param buf StringBuilder containing the JSON representation under construction * @see JSONSerializers#getLegacy() */ public static void serialize(final Object object, final StringBuilder buf) { JSONSerializers.getLegacy().serialize(object, buf); }
@Override public String encode(CodecRegistryProvider provider, boolean quoted) { return JSON.serialize(this.value); } }
static ClassMapBasedObjectSerializer addCommonSerializers() { ClassMapBasedObjectSerializer serializer = new ClassMapBasedObjectSerializer(); serializer.addObjectSerializer(Object[].class, new ObjectArraySerializer(serializer)); serializer.addObjectSerializer(Boolean.class, new ToStringSerializer()); serializer.addObjectSerializer(Code.class, new CodeSerializer(serializer)); serializer.addObjectSerializer(CodeWScope.class, new CodeWScopeSerializer(serializer)); serializer.addObjectSerializer(DBObject.class, new DBObjectSerializer(serializer)); serializer.addObjectSerializer(DBRef.class, new DBRefBaseSerializer(serializer)); serializer.addObjectSerializer(Iterable.class, new IterableSerializer(serializer)); serializer.addObjectSerializer(Map.class, new MapSerializer(serializer)); serializer.addObjectSerializer(MaxKey.class, new MaxKeySerializer(serializer)); serializer.addObjectSerializer(MinKey.class, new MinKeySerializer(serializer)); serializer.addObjectSerializer(Number.class, new ToStringSerializer()); serializer.addObjectSerializer(ObjectId.class, new ObjectIdSerializer(serializer)); serializer.addObjectSerializer(Pattern.class, new PatternSerializer(serializer)); serializer.addObjectSerializer(String.class, new StringSerializer()); serializer.addObjectSerializer(Symbol.class, new SymbolSerializer(serializer)); serializer.addObjectSerializer(UUID.class, new UuidSerializer(serializer)); serializer.addObjectSerializer(BsonUndefined.class, new UndefinedSerializer(serializer)); serializer.addObjectSerializer(Decimal128.class, new Decimal128Serializer(serializer)); return serializer; }
/** * Returns an {@code ObjectSerializer} that conforms to the strict JSON format defined in * <a href="http://docs.mongodb.org/manual/reference/mongodb-extended-json/">extended JSON</a>. * * @return object serializer * @mongodb.driver.manual reference/mongodb-extended-json/ MongoDB Extended JSON */ public static ObjectSerializer getStrict() { ClassMapBasedObjectSerializer serializer = addCommonSerializers(); serializer.addObjectSerializer(Date.class, new DateSerializer(serializer)); serializer.addObjectSerializer(BSONTimestamp.class, new BSONTimestampSerializer(serializer)); serializer.addObjectSerializer(Binary.class, new BinarySerializer(serializer)); serializer.addObjectSerializer(byte[].class, new ByteArraySerializer(serializer)); return serializer; }
/** * Returns an {@code ObjectSerializer} that mostly conforms to the strict JSON format defined in * <a href="http://docs.mongodb.org/manual/reference/mongodb-extended-json/">extended JSON</a>, but with a few differences to keep * compatibility with previous versions of the driver. Clients should generally prefer {@code getStrict} in preference to this method. * * @return object serializer * @mongodb.driver.manual reference/mongodb-extended-json/ MongoDB Extended JSON * @see #getStrict() */ public static ObjectSerializer getLegacy() { ClassMapBasedObjectSerializer serializer = addCommonSerializers(); serializer.addObjectSerializer(Date.class, new LegacyDateSerializer(serializer)); serializer.addObjectSerializer(BSONTimestamp.class, new LegacyBSONTimestampSerializer(serializer)); serializer.addObjectSerializer(Binary.class, new LegacyBinarySerializer()); serializer.addObjectSerializer(byte[].class, new LegacyBinarySerializer()); return serializer; }
@SuppressWarnings("deprecation") JSONParser(final String s, final BSONCallback callback) { this.s = s; _callback = (callback == null) ? new JSONCallback() : callback; }
/** * Parse an unknown type. * * @return Object the next item * @throws JSONParseException if invalid JSON is found */ public Object parse() { return parse(null); }
/** * Parses the next array. * * @return the array * @throws JSONParseException if invalid JSON is found */ public Object parseArray() { return parseArray(null); }
@Override public void serialize(final Object obj, final StringBuilder buf) { JSON.string(buf, (String) obj); } }
/** * Parses an object for the form <i>{}</i> and <i>{ members }</i>. * * @return DBObject the next object * @throws JSONParseException if invalid JSON is found */ public Object parseObject() { return parseObject(null); }
/** * Checks the current character, making sure that it is the expected character. * * @param ch the character expected * @throws JSONParseException if the current character does not match the given character */ public boolean check(final char ch) { return get() == ch; }
@Override public void serialize(final Object obj, final StringBuilder buf) { serialize((byte[]) obj, (byte) 0, buf); }
@Override @SuppressWarnings("deprecation") public String toString() { return com.mongodb.util.JSON.serialize(this); }
/** * Returns a JSON serialization of this object * * @return JSON serialization */ @SuppressWarnings("deprecation") public String toString() { return com.mongodb.util.JSON.serialize(this); } }
/** * Returns a JSON serialization of this object * * @return JSON serialization */ @SuppressWarnings("deprecation") public String toString() { return com.mongodb.util.JSON.serialize(this); } }
@Override public String toString() { return "Timestamp.BSON(ts=" + JSON.serialize(ts) + ")"; }