package com.atlassian.jgitflow.core.extension.impl;
import java.util.Arrays;
import java.util.List;
import com.atlassian.jgitflow.core.extension.ExtensionCommand;
import com.atlassian.jgitflow.core.extension.ReleaseMergingExtension;
import com.google.common.collect.Iterables;
import static com.google.common.collect.Lists.newArrayList;
public class EmptyMasterAndDevelopAndReleaseMergingExtension extends EmptyMasterAndDevelopMergingExtension implements ReleaseMergingExtension
{
private final List<ExtensionCommand> beforeReleaseCheckout;
private final List<ExtensionCommand> afterReleaseCheckout;
private final List<ExtensionCommand> beforeReleaseMerge;
private final List<ExtensionCommand> afterReleaseMerge;
protected EmptyMasterAndDevelopAndReleaseMergingExtension()
{
this.beforeReleaseCheckout = newArrayList();
this.afterReleaseCheckout = newArrayList();
this.beforeReleaseMerge = newArrayList();
this.afterReleaseMerge = newArrayList();
}
public void addBeforeReleaseCheckoutCommands(ExtensionCommand... commands)
{
beforeReleaseCheckout.addAll(Arrays.asList(commands));
}
public void addAfterReleaseCheckoutCommands(ExtensionCommand... commands)
{
afterReleaseCheckout.addAll(Arrays.asList(commands));
}
public void addBeforeReleaseMergeCommands(ExtensionCommand... commands)
{
beforeReleaseMerge.addAll(Arrays.asList(commands));
}
public void addAfterReleaseMergeCommands(ExtensionCommand... commands)
{
afterReleaseMerge.addAll(Arrays.asList(commands));
}
@Override
public Iterable<ExtensionCommand> beforeReleaseCheckout()
{
return Iterables.unmodifiableIterable(beforeReleaseCheckout);
}
@Override
public Iterable<ExtensionCommand> afterReleaseCheckout()
{
return Iterables.unmodifiableIterable(afterReleaseCheckout);
}
@Override
public Iterable<ExtensionCommand> beforeReleaseMerge()
{
return Iterables.unmodifiableIterable(beforeReleaseMerge);
}
@Override
public Iterable<ExtensionCommand> afterReleaseMerge()
{
return Iterables.unmodifiableIterable(afterReleaseMerge);
}
}