52 lines
1.1 KiB
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;
|
|
}
|
|
}
|