All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.eightkdata.mongowp.mongoserver.api.safe.oplog.DeleteOplogOperation Maven / Gradle / Ivy

The newest version!

package com.eightkdata.mongowp.mongoserver.api.safe.oplog;

import com.eightkdata.mongowp.mongoserver.pojos.OpTime;
import javax.annotation.concurrent.Immutable;
import org.bson.BsonBoolean;
import org.bson.BsonDocument;
import org.bson.BsonString;

/**
 *
 */
@Immutable
public class DeleteOplogOperation extends CollectionOplogOperation {

    private final BsonDocument filter;
    private final boolean justOne;

    public DeleteOplogOperation(
            BsonDocument filter,
            String database,
            String collection,
            OpTime optime,
            long h,
            OplogVersion version,
            boolean fromMigrate,
            boolean justOne) {
        super(database, collection, optime, h, version, fromMigrate);
        this.filter = filter;
        this.justOne = justOne;
    }

    public BsonDocument getFilter() {
        return filter;
    }

    public boolean isJustOne() {
        return justOne;
    }

    @Override
    public OplogOperationType getType() {
        return OplogOperationType.DELETE;
    }

    @Override
    public BsonDocument toDescriptiveBson() {
        return super.toDescriptiveBson()
                .append("op", new BsonString(getType().getOplogName()))
                .append("o", filter)
                .append("b", BsonBoolean.valueOf(justOne));
    }

    @Override
    public  Result accept(OplogOperationVisitor visitor, Arg arg) {
        return visitor.visit(this, arg);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy