package net.karneim.pojobuilder.processor.with.factorymethodannotation;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import net.karneim.pojobuilder.GeneratePojoBuilder;
public class ContainerFactory {
@GeneratePojoBuilder
public static <X extends Number> Container<X> createContainer(final X content) {
return new Container<X>() {
@Override
public X getContent() {
return content;
}
};
}
@GeneratePojoBuilder(withName = "FileContainerBuilder")
public static Container<File> createFileContainer(final File content) {
return new Container<File>() {
@Override
public File getContent() {
return content;
}
};
}
@GeneratePojoBuilder(withName = "GenericListContainerBuilder")
public static <T> Container<List<T>> newGenericListContainer(final String content) {
return new Container<List<T>>() {
@Override
public List<T> getContent() {
ArrayList<T> result = new ArrayList<T>();
return result;
}
};
}
}