use of org.jowidgets.plugin.api.IPluginFilter in project jo-client-platform by jo-source.
the class PluginProviderImpl method getPlugins.
@Override
public <PLUGIN_TYPE> List<PLUGIN_TYPE> getPlugins(final IPluginId<PLUGIN_TYPE> id, final IPluginProperties properties) {
Assert.paramNotNull(id, "id");
Assert.paramNotNull(properties, "properties");
final List<PLUGIN_TYPE> result = new LinkedList<PLUGIN_TYPE>();
final List<Tuple> registerdPlugins = (List<Tuple>) plugins.get(id);
if (registerdPlugins != null) {
for (final Tuple tuple : registerdPlugins) {
final PLUGIN_TYPE plugin = (PLUGIN_TYPE) tuple.getFirst();
final IPluginFilter filter = (IPluginFilter) tuple.getSecond();
if (filter.accept(properties)) {
result.add(plugin);
}
}
}
return Collections.unmodifiableList(result);
}
Aggregations