public default long toRawData() { return getSecondsSinceEpoch() << 32 + getOrdinal(); } }
@Override public Void visit(BsonTimestamp value, ByteBuf arg) { arg.writeInt(value.getOrdinal()).writeInt(value.getSecondsSinceEpoch()); return null; }
public static BsonDateTime toDateTime(BsonTimestamp timestamp, LongFunction<BsonDateTime> dateTimeCreator) { long rawData = timestamp.getSecondsSinceEpoch(); rawData <<= 32; rawData |= timestamp.getOrdinal(); return dateTimeCreator.apply(rawData); }
@Override public KvValue<?> visit(BsonTimestamp value, Void arg) { return new DefaultKvMongoTimestamp(value.getSecondsSinceEpoch(), value.getOrdinal()); }
public int compareTo(BsonTimestamp obj) { int diff = this.getSecondsSinceEpoch() - obj.getSecondsSinceEpoch(); if (diff != 0) { return diff; } return this.getOrdinal() - obj.getOrdinal(); }
@Override public final boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof BsonTimestamp)) { return false; } BsonTimestamp other = (BsonTimestamp) obj; if (this.getOrdinal() != other.getOrdinal()) { return false; } return this.getSecondsSinceEpoch() == other.getSecondsSinceEpoch(); }
com.torodb.mongowp.bson.BsonTimestamp casted = (com.torodb.mongowp.bson.BsonTimestamp) value; return new BsonTimestamp(casted.getSecondsSinceEpoch(), casted.getOrdinal());