package org.infinispan.persistence.remote.configuration;
import org.infinispan.commons.configuration.attributes.AttributeDefinition;
import org.infinispan.commons.configuration.attributes.AttributeSet;
public class RemoteServerConfiguration {
static final AttributeDefinition<String> HOST = AttributeDefinition.builder("host", null, String.class).immutable().build();
static final AttributeDefinition<Integer> PORT = AttributeDefinition.builder("port", 11222).immutable().build();
static AttributeSet attributeDefinitionSet() {
return new AttributeSet(RemoteServerConfiguration.class, HOST, PORT);
}
private final AttributeSet attributes;
RemoteServerConfiguration(AttributeSet attibutes) {
this.attributes = attibutes;
}
AttributeSet attributes() {
return attributes;
}
public String host() {
return attributes.attribute(HOST).get();
}
public int port() {
return attributes.attribute(PORT).get();
}
@Override
public String toString() {
return "RemoteServerConfiguration{" +
"host='" + host() + '\'' +
", port=" + port() +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RemoteServerConfiguration that = (RemoteServerConfiguration) o;
if (port() != that.port()) return false;
return host() != null ? host().equals(that.host()) : that.host() == null;
}
@Override
public int hashCode() {
int result = host() != null ? host().hashCode() : 0;
result = 31 * result + port();
return result;
}
}