All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.dropwizard.jdbi.ImmutableListContainerFactory Maven / Gradle / Ivy

package io.dropwizard.jdbi;

import com.google.common.collect.ImmutableList;
import org.skife.jdbi.v2.ContainerBuilder;
import org.skife.jdbi.v2.tweak.ContainerFactory;

public class ImmutableListContainerFactory implements ContainerFactory> {
    @Override
    public boolean accepts(Class type) {
        return ImmutableList.class.isAssignableFrom(type);
    }

    @Override
    public ContainerBuilder> newContainerBuilderFor(Class type) {
        return new ImmutableListContainerBuilder();
    }

    private static class ImmutableListContainerBuilder implements ContainerBuilder> {
        private final ImmutableList.Builder builder = ImmutableList.builder();

        @Override
        public ContainerBuilder> add(Object it) {
            builder.add(it);
            return this;
        }

        @Override
        public ImmutableList build() {
            return builder.build();
        }
    }
}