kv-4.0.9.src.oracle.kv.Operation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of oracle-nosql-client Show documentation
Show all versions of oracle-nosql-client Show documentation
Oracle NoSQL Database Client - supplies build and runtime support for the client side of the Oracle NoSQL Database. Note that a running Oracle NoSQL Database Server (store) is required to do anything meaningful with this client.
/*-
*
* This file is part of Oracle NoSQL Database
* Copyright (C) 2011, 2016 Oracle and/or its affiliates. All rights reserved.
*
* If you have received this file as part of Oracle NoSQL Database the
* following applies to the work as a whole:
*
* Oracle NoSQL Database server software is free software: you can
* redistribute it and/or modify it under the terms of the GNU Affero
* General Public License as published by the Free Software Foundation,
* version 3.
*
* Oracle NoSQL Database is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Affero General Public License for more details.
*
* If you have received this file as part of Oracle NoSQL Database Client or
* distributed separately the following applies:
*
* Oracle NoSQL Database client software is free software: you can
* redistribute it and/or modify it under the terms of the Apache License
* as published by the Apache Software Foundation, version 2.0.
*
* You should have received a copy of the GNU Affero General Public License
* and/or the Apache License in the LICENSE file along with Oracle NoSQL
* Database client or server distribution. If not, see
*
* or
* .
*
* An active Oracle commercial licensing agreement for this product supersedes
* these licenses and in such case the license notices, but not the copyright
* notice, may be removed by you in connection with your distribution that is
* in accordance with the commercial licensing terms.
*
* For more information please contact:
*
* [email protected]
*
*/
package oracle.kv;
/**
* Denotes an Operation in a sequence of operations passed to the {@link
* KVStore#execute KVStore.execute} method.
*
* Operation instances are created only by {@link OperationFactory} methods
* and the Operation interface should not be implemented by the
* application.
*
* @see OperationFactory
* @see KVStore#execute KVStore.execute
*/
public interface Operation {
/**
* The type of operation, as determined by the method used to create it.
*/
public enum Type {
/**
* An operation created by {@link OperationFactory#createPut}.
*/
PUT,
/**
* An operation created by {@link OperationFactory#createPutIfAbsent}.
*/
PUT_IF_ABSENT,
/**
* An operation created by {@link OperationFactory#createPutIfPresent}.
*/
PUT_IF_PRESENT,
/**
* An operation created by {@link OperationFactory#createPutIfVersion}.
*/
PUT_IF_VERSION,
/**
* An operation created by {@link OperationFactory#createDelete}.
*/
DELETE,
/**
* An operation created by {@link
* OperationFactory#createDeleteIfVersion}.
*/
DELETE_IF_VERSION,
}
/**
* Returns the Key associated with the operation.
*/
Key getKey();
/**
* Returns the operation Type.
*/
Type getType();
/**
* Returns whether this operation should cause the {@link KVStore#execute
* KVStore.execute} transaction to abort when the operation fails.
*/
boolean getAbortIfUnsuccessful();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy