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

com.alipay.oceanbase.rpc.protocol.payload.impl.execute.ObTableOptionFlag Maven / Gradle / Ivy

/*-
 * #%L
 * OBKV Table Client Framework
 * %%
 * Copyright (C) 2021 OceanBase
 * %%
 * OBKV Table Client Framework is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *          http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 * #L%
 */

package com.alipay.oceanbase.rpc.protocol.payload.impl.execute;

import java.util.HashMap;
import java.util.Map;

public enum ObTableOptionFlag {

    DEFAULT(0), RETURNING_ROWKEY(1 << 0), USE_PUT(1 << 1), RETURN_ONE_RES(1 << 2);

    private int                                    value;
    private static Map map = new HashMap();

    ObTableOptionFlag(int value) {
        this.value = value;
    }

    static {
        for (ObTableOptionFlag type : ObTableOptionFlag.values()) {
            map.put(type.value, type);
        }
    }

    /*
     * Value of.
     */
    public static ObTableOptionFlag valueOf(int value) {
        return map.get(value);
    }

    /*
     * Get value.
     */
    public int getValue() {
        return value;
    }

    /*
     * Get byte value.
     */
    public byte getByteValue() {
        return (byte) value;
    }

    /*
     * Set isReturningRowKey.
     */
    public void setReturningRowkey(boolean returningRowKey) {
        if (returningRowKey) {
            this.value |= RETURNING_ROWKEY.value;
        }
    }

    /*
     * Get isReturningRowKey.
     */
    public boolean isReturningRowKey() {
        return this.value == RETURNING_ROWKEY.value;
    }

    /*
     * Get usePut.
     */
    public boolean isUsePut() {
        return this.value == USE_PUT.value;
    }

    /*
     * Set usePut.
     */
    public void setUsePut(boolean usePut) {
        if (usePut) {
            this.value |= USE_PUT.value;
        }
    }

    public boolean isReturnOneResult() {
        return (this.value & RETURN_ONE_RES.value) == 1;
    }

    public void setReturnOneResult(boolean returnOneResult) {
        if (returnOneResult) {
            this.value |= RETURN_ONE_RES.value;
        } else {
            this.value &= ~(RETURN_ONE_RES.value);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy