package com.baidu.dsp.common.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.ObjectUtils;
import com.baidu.dsp.common.form.RequestListBase.Page;
public class ListUtil {
public static <T> List<T> getSubList(List<T> list, int offset, int count) {
if (offset < 0) {
offset = 0;
}
if (list == null || list.size() - 1 < offset) {
return new ArrayList<T>();
}
int end = (list.size() > offset + count) ? offset + count : list.size();
return list.subList(offset, end);
}
public static int calcOffset(Page page) {
return (page.getPageNo() - 1) * page.getPageSize();
}
public static <K, V> void insertIntoMap(Map<K, V> map, List<K> keys, V value) {
if (map != null && keys != null) {
for (K key : keys) {
map.put(key, value);
}
}
}
public static boolean allNull(Object first, Object... objects) {
if (first != null) {
return false;
} else if (ArrayUtils.isEmpty(objects)) {
return true;
}
for (Object o : objects) {
if (o != null) {
return false;
}
}
return true;
}
public static boolean allNotNull(Object first, Object... objects) {
if (first == null) {
return false;
} else if (ArrayUtils.isEmpty(objects)) {
return true;
}
for (Object o : objects) {
if (o == null) {
return false;
}
}
return true;
}
public static boolean hasNull(Object first, Object... objects) {
if (first == null) {
return true;
} else if (ArrayUtils.isEmpty(objects)) {
return false;
}
for (Object o : objects) {
if (o == null) {
return true;
}
}
return false;
}
public static boolean hasNotNull(Object first, Object... objects) {
if (first != null) {
return true;
} else if (ArrayUtils.isEmpty(objects)) {
return false;
}
for (Object o : objects) {
if (o != null) {
return true;
}
}
return false;
}
public static <T> boolean in(T value, T... list) {
if (ArrayUtils.isEmpty(list)) {
return false;
}
for (T t : list) {
if (ObjectUtils.equals(value, t)) {
return true;
}
}
return false;
}
public static <T> boolean notIn(T value, T... list) {
return !in(value, list);
}
}