1 package com.atlassian.plugin.osgi.factory.transform;
2
3 /**
4 * Performs a stage in the transformation from a JAR to an OSGi bundle
5 *
6 * @since 2.2.0
7 */
8 public interface TransformStage {
9 /**
10 * Transforms the jar by operating on the context
11 *
12 * Any transformation stage that generates Spring beans must ensure no collision of bean ids or names or aliases
13 * by calling {@link TransformContext#trackBean(String, String)} whenever a new bean id or name or alias is created.
14 *
15 * @param context The transform context to operate on
16 * @throws PluginTransformationException If the stage cannot be performed and the whole operation should be aborted
17 */
18 void execute(TransformContext context) throws PluginTransformationException;
19 }