package ru.naumen.gintonic.command; import java.util.List; import ru.naumen.gintonic.guice.statements.BindingDefinition; import ru.naumen.gintonic.project.navigate.NavigationCycle; import ru.naumen.gintonic.project.source.references.SourceCodeReference; import ru.naumen.gintonic.utils.ListUtils; /** * A navigation cycle which cycles between a binding and its binding definitions. * * @author tmajunke */ public class BindingNavigationCycle extends NavigationCycle<SourceCodeReference>{ public BindingNavigationCycle(SourceCodeReference origin, List<BindingDefinition> bindingDefinitions) { List<SourceCodeReference> sourceCodeReferences = ListUtils.newArrayListWithCapacity(bindingDefinitions.size() + 1); sourceCodeReferences.add(origin); for (BindingDefinition bindingDefinition : bindingDefinitions) { sourceCodeReferences.add(bindingDefinition.getSourceCodeReference()); } setSourceCodeReferences(sourceCodeReferences); } }