
jdplus.toolkit.desktop.plugin.star.StarListManager Maven / Gradle / Ivy
package jdplus.toolkit.desktop.plugin.star;
import jdplus.main.desktop.design.GlobalService;
import jdplus.toolkit.base.tsp.DataSource;
import jdplus.toolkit.desktop.plugin.util.LazyGlobalService;
import nbbrd.design.swing.OnEDT;
import org.checkerframework.checker.nullness.qual.NonNull;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@GlobalService
public final class StarListManager implements Iterable {
@NonNull
public static StarListManager get() {
return LazyGlobalService.get(StarListManager.class, StarListManager::new);
}
private final Set list;
private StarListManager() {
list = new HashSet<>();
}
@OnEDT
public void clear() {
list.clear();
}
@OnEDT
public void toggle(DataSource dataSource) {
if (list.contains(dataSource))
list.remove(dataSource);
else
list.add(dataSource);
}
@OnEDT
public void add(DataSource dataSource) {
list.add(dataSource);
}
@OnEDT
public void remove(DataSource dataSource) {
list.remove(dataSource);
}
@OnEDT
@Override
public @lombok.NonNull Iterator iterator() {
return list.iterator();
}
@OnEDT
public boolean isStarred(DataSource dataSource) {
return list.contains(dataSource);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy