]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.util/src/org/argeo/util/register/ComponentRegister.java
Refactor deploy properties and move legacy CMS exception.
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / util / register / ComponentRegister.java
1 package org.argeo.util.register;
2
3 import java.util.Map;
4 import java.util.SortedSet;
5 import java.util.function.Predicate;
6
7 /** A register of components which can coordinate their activation. */
8 public interface ComponentRegister {
9 long register(Component<?> component);
10
11 <T> SortedSet<Component<? extends T>> find(Class<T> clss, Predicate<Map<String, Object>> filter);
12
13 Component<?> get(Object instance);
14
15 // default <T> PublishedType<T> getType(Class<T> clss) {
16 // SortedSet<Component<? extends T>> components = find(clss, null);
17 // if (components.size() == 0)
18 // return null;
19 // return components.first().getType(clss);
20 // }
21
22 void activate();
23
24 void deactivate();
25
26 boolean isActive();
27
28 void clear();
29 }