package fr.openwide.core.wicket.more.link.descriptor.impl;
import org.apache.wicket.Component;
import com.google.common.collect.ImmutableList;
import fr.openwide.core.wicket.more.link.descriptor.generator.ILinkGenerator;
public class ChainedLinkGeneratorImpl extends AbstractChainedLinkGenerator<ILinkGenerator> {
private static final long serialVersionUID = 1L;
public ChainedLinkGeneratorImpl(Iterable<? extends ILinkGenerator> chain) {
super(chain);
}
@Override
public ILinkGenerator chain(ILinkGenerator other) {
return new ChainedLinkGeneratorImpl(
ImmutableList.<ILinkGenerator>builder().addAll(getChain()).add(other).build()
);
}
@Override
public ILinkGenerator wrap(Component component) {
ImmutableList.Builder<ILinkGenerator> builder = ImmutableList.builder();
for (ILinkGenerator element : getChain()) {
builder.add(element.wrap(component));
}
return new ChainedLinkGeneratorImpl(builder.build());
}
}