package com.lambdaworks.redis.models.role;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
import com.lambdaworks.redis.internal.LettuceAssert;
/**
* Redis sentinel instance.
*
* @author Mark Paluch
* @since 3.0
*/
@SuppressWarnings("serial")
public class RedisSentinelInstance implements RedisInstance, Serializable {
private List<String> monitoredMasters = Collections.emptyList();
public RedisSentinelInstance() {
}
/**
* Constructs a {@link RedisSentinelInstance}
*
* @param monitoredMasters list of monitored masters, must not be {@literal null} but may be empty
*/
public RedisSentinelInstance(List<String> monitoredMasters) {
LettuceAssert.notNull(monitoredMasters, "List of monitoredMasters must not be null");
this.monitoredMasters = monitoredMasters;
}
/**
*
* @return always {@link com.lambdaworks.redis.models.role.RedisInstance.Role#SENTINEL}
*/
@Override
public Role getRole() {
return Role.SENTINEL;
}
/**
*
* @return List of monitored master names.
*/
public List<String> getMonitoredMasters() {
return monitoredMasters;
}
public void setMonitoredMasters(List<String> monitoredMasters) {
LettuceAssert.notNull(monitoredMasters, "List of monitoredMasters must not be null");
this.monitoredMasters = monitoredMasters;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [monitoredMasters=").append(monitoredMasters);
sb.append(']');
return sb.toString();
}
}