1 package com.atlassian.plugin.osgi.container;
2
3 import java.util.List;
4 import java.util.Map;
5
6 /**
7 * Contains configuration for the package scanning algorithm that scans your classpath to determine which packages
8 * and versions to export to OSGi. Jar and package includes/excludes, and packages for the package version map can
9 * either be simple names or wildcard patterns, where the "*" character will match any character.
10 *
11 * <p>
12 * Includes and excludes are matched so that only includes are, well, included, but if you need to filter a few out
13 * of that set, the exclude patterns will be removed.
14 */
15 public interface PackageScannerConfiguration
16 {
17 /**
18 * @return The jar patterns to include
19 */
20 List<String> getJarIncludes();
21
22 /**
23 * @return The jar patterns to exclude
24 */
25 List<String> getJarExcludes();
26
27 /**
28 * @return The package patterns to include
29 */
30 List<String> getPackageIncludes();
31
32 /**
33 * @return The package patterns to exclude
34 */
35 List<String> getPackageExcludes();
36
37 /**
38 * @return A map of package patterns and their versions
39 */
40 Map<String,String> getPackageVersions();
41 }