org.redisson.client.protocol.CommandsData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of redisson Show documentation
Show all versions of redisson Show documentation
Redis Java client with features of In-Memory Data Grid
/**
* Copyright (c) 2013-2024 Nikita Koksharov
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.redisson.client.protocol;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
/**
*
* @author Nikita Koksharov
*
*/
public class CommandsData implements QueueCommand {
private final List> commands;
private final List> attachedCommands;
private final CompletableFuture promise;
private final boolean skipResult;
private final boolean atomic;
private final boolean queued;
private final boolean syncSlaves;
public CommandsData(CompletableFuture promise, List> commands, boolean queued, boolean syncSlaves) {
this(promise, commands, null, false, false, queued, syncSlaves);
}
public CommandsData(CompletableFuture promise, List> commands, boolean skipResult, boolean atomic, boolean queued, boolean syncSlaves) {
this(promise, commands, null, skipResult, atomic, queued, syncSlaves);
}
public CommandsData(CompletableFuture promise, List> commands, List> attachedCommands,
boolean skipResult, boolean atomic, boolean queued, boolean syncSlaves) {
super();
this.promise = promise;
this.commands = commands;
this.skipResult = skipResult;
this.atomic = atomic;
this.attachedCommands = attachedCommands;
this.queued = queued;
this.syncSlaves = syncSlaves;
}
public boolean isSyncSlaves() {
return syncSlaves;
}
public CompletableFuture getPromise() {
return promise;
}
public boolean isQueued() {
return queued;
}
public boolean isAtomic() {
return atomic;
}
public boolean isSkipResult() {
return skipResult;
}
public List> getAttachedCommands() {
return attachedCommands;
}
public List> getCommands() {
return commands;
}
@Override
public List> getPubSubOperations() {
List> result = new ArrayList>();
for (CommandData, ?> commandData : commands) {
if (RedisCommands.PUBSUB_COMMANDS.contains(commandData.getCommand().getName())) {
result.add((CommandData
© 2015 - 2025 Weber Informatics LLC | Privacy Policy