package org.atomnuke.task.operation; import org.atomnuke.plugin.operation.ComplexOperation; import org.atomnuke.plugin.operation.OperationFailureException; import org.atomnuke.task.context.AtomTaskContext; import org.atomnuke.lifecycle.InitializationException; import org.atomnuke.lifecycle.ResourceLifeCycle; /** * * @author zinic */ public class TaskLifeCycleInitOperation implements ComplexOperation<ResourceLifeCycle, AtomTaskContext> { private static final ComplexOperation<ResourceLifeCycle, AtomTaskContext> INSTANCE = new TaskLifeCycleInitOperation(); public static <T extends ResourceLifeCycle> ComplexOperation<T, AtomTaskContext> instance() { return (ComplexOperation<T, AtomTaskContext>) INSTANCE; } @Override public void perform(ResourceLifeCycle instance, AtomTaskContext argument) throws OperationFailureException { try { instance.init(argument); } catch (InitializationException ie) { throw new OperationFailureException(ie); } } }