| 487 | } // end of MakeBson |
| 488 | |
| 489 | protected BsonValue ObjToBson(Object val, int json) { |
| 490 | BsonValue bval = null; |
| 491 | |
| 492 | if (val == null) |
| 493 | bval = bsonull; |
| 494 | else if (val.getClass() == String.class) { |
| 495 | if (json == 1) |
| 496 | bval = BsonDocument.parse((String) val); |
| 497 | else if (json == 2) |
| 498 | bval = BsonArray.parse((String) val); |
| 499 | else |
| 500 | bval = new BsonString((String) val); |
| 501 | |
| 502 | } else if (val.getClass() == Integer.class) |
| 503 | bval = new BsonInt32((int) val); |
| 504 | else if (val.getClass() == Double.class) |
| 505 | bval = new BsonDouble((double) val); |
| 506 | else if (val.getClass() == BigInteger.class) |
| 507 | bval = new BsonInt64((long) val); |
| 508 | else if (val.getClass() == Boolean.class) |
| 509 | bval = new BsonBoolean((Boolean) val); |
| 510 | else if (val.getClass() == Date.class) |
| 511 | bval = new BsonDateTime(((Date) val).getTime() * 1000); |
| 512 | else if (val.getClass() == BsonDocument.class) |
| 513 | bval = (BsonDocument) val; |
| 514 | else if (val.getClass() == BsonArray.class) |
| 515 | bval = (BsonArray) val; |
| 516 | // else if (val.getClass() == BigDecimal.class) |
| 517 | // bval = new BsonDecimal128((BigDecimal) val); |
| 518 | |
| 519 | return bval; |
| 520 | } // end of ObjToBson |
| 521 | |
| 522 | public Object MakeDocument() { |
| 523 | return new BsonDocument(); |