1 package com.atlassian.plugin.osgi.hostcomponents;
2
3 /**
4 * A registrar for capturing host components and their configuration
5 */
6 public interface ComponentRegistrar {
7 /**
8 * The flag to mark host components from other OSGi services
9 */
10 String HOST_COMPONENT_FLAG = "plugins-host";
11
12 /**
13 * Starts the single host component registration by declaring it as implementing one or more interfaces
14 *
15 * @param mainInterfaces The list of interfaces this host component implements
16 * @return The instance builder that will tie these interfaces with a host component instance
17 */
18 InstanceBuilder register(Class<?>... mainInterfaces);
19 }