ctbrec-5.3.2-experimental/client/src/main/java/ctbrec/ui/settings/api/Group.java

52 lines
1.1 KiB
Java

package ctbrec.ui.settings.api;
import java.util.Objects;
public class Group {
public static final String DEFAULT = "default";
private String name;
private Setting[] settings;
private Group(String name, Setting...settings) {
this.name = name;
this.settings = settings;
}
public static Group of(Setting...settings) {
return new Group(DEFAULT, settings);
}
public static Group of(String name, Setting...settings) {
return new Group(name, settings);
}
String getName() {
return name;
}
Setting[] getSettings() {
return settings;
}
boolean isDefault() {
return Objects.equals(name, DEFAULT);
}
public boolean contains(String filter) {
return name.toLowerCase().contains(filter) | settingsContain(filter);
}
private boolean settingsContain(String filter) {
boolean contains = false;
if (settings != null) {
for (Setting setting : settings) {
if (setting.contains(filter)) {
contains = true;
}
}
}
return contains;
}
}