X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.util%2Fsrc%2Forg%2Fargeo%2Futil%2Fregister%2FComponentRegister.java;h=d5f9ea4211d67c774cddfa25a9d3b3a7639323fe;hb=cc1dd97ebcc32e1bd754073ad23def182f460452;hp=eb8acba02bcaeb97314b7f8872b43c2a20e63419;hpb=584b2b87593892c6ded7b645425b603a4f554026;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.util/src/org/argeo/util/register/ComponentRegister.java b/org.argeo.util/src/org/argeo/util/register/ComponentRegister.java index eb8acba02..d5f9ea421 100644 --- a/org.argeo.util/src/org/argeo/util/register/ComponentRegister.java +++ b/org.argeo.util/src/org/argeo/util/register/ComponentRegister.java @@ -1,14 +1,24 @@ package org.argeo.util.register; import java.util.Map; -import java.util.function.Consumer; +import java.util.SortedSet; import java.util.function.Predicate; -public interface ComponentRegister extends Consumer> { - Component find(Class clss, Predicate> filter); +/** A register of components which can coordinate their activation. */ +public interface ComponentRegister { + long register(Component component); + + SortedSet> find(Class clss, Predicate> filter); Component get(Object instance); +// default PublishedType getType(Class clss) { +// SortedSet> components = find(clss, null); +// if (components.size() == 0) +// return null; +// return components.first().getType(clss); +// } + void activate(); void deactivate();