1 package com.atlassian.plugin.predicate;
2
3 import com.atlassian.plugin.ModuleDescriptor;
4
5 /**
6 * Interface used to match plugin modules according to implementation specific rules.
7 *
8 * @since 0.17
9 */
10 public interface ModuleDescriptorPredicate<T> {
11 /**
12 * <p>Will match a plugin module according to implementation rules.<p>
13 * <p>This method must not change the state of the module nor its plugin .</p>
14 *
15 * @param moduleDescriptor the {@link ModuleDescriptor} to test against.
16 * @return <code>true</code> if the module matches the predicate, <code>false</code> otherwise.
17 */
18 boolean matches(final ModuleDescriptor<? extends T> moduleDescriptor);
19 }