
service.Command Maven / Gradle / Ivy
package service;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Consumer;
public abstract class Command {
public static class Parameter{
private String name;
private String value;
public Parameter(String name, String value) {
assert name != null;
assert value != null;
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Parameter parameter = (Parameter) o;
return name.equals(parameter.name) &&
value.equals(parameter.value);
}
@Override
public int hashCode() {
return Objects.hash(name, value);
}
@Override
public String toString() {
return "Parameter{" +
"name='" + name + '\'' +
", value='" + value + '\'' +
'}';
}
}
private String name; // command name
protected final List parameters;
public Command(String name, List parameters) {
assert name != null;
assert !(name.isEmpty());
assert parameters != null;
this.name = name;
this.parameters = parameters;
}
public abstract Optional execute();
public String getName() {
return name;
}
public List getParameters() {
return parameters;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy