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 /**
11 * Transforms the jar by operating on the context
12 *
13 * Any transformation stage that generates Spring beans must ensure no collision of bean ids or names or aliases
14 * by calling {@link TransformContext#trackBean(String, String)} whenever a new bean id or name or alias is created.
15 *
16 * @param context The transform context to operate on
17 * @throws PluginTransformationException If the stage cannot be performed and the whole operation should be aborted
18 */
19 void execute(TransformContext context) throws PluginTransformationException;
20 }