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 /**
9 * The flag to mark host components from other OSGi services
10 */
11 static final String HOST_COMPONENT_FLAG = "plugins-host";
12
13 /**
14 * Starts the single host component registration by declaring it as implementing one or more interfaces
15 *
16 * @param mainInterfaces The list of interfaces this host component implements
17 * @return The instance builder that will tie these interfaces with a host component instance
18 */
19 InstanceBuilder register(Class<?>... mainInterfaces);
20 }