package eu.europa.esig.dss.utils.impl; import java.io.Closeable; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Collection; import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Hex; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import eu.europa.esig.dss.utils.IUtils; public class ApacheCommonsUtils implements IUtils { @Override public boolean isStringEmpty(String text) { return StringUtils.isEmpty(text); } @Override public boolean isStringNotEmpty(String text) { return StringUtils.isNotEmpty(text); } @Override public boolean isStringBlank(String text) { return StringUtils.isBlank(text); } @Override public boolean isStringNotBlank(String text) { return StringUtils.isNotBlank(text); } @Override public boolean areStringsEqual(String text1, String text2) { return StringUtils.equals(text1, text2); } @Override public boolean areStringsEqualIgnoreCase(String text1, String text2) { return StringUtils.equalsIgnoreCase(text1, text2); } @Override public boolean isStringDigits(String text) { return NumberUtils.isDigits(text); } @Override public String trim(String text) { return StringUtils.trim(text); } @Override public String joinStrings(Collection<String> strings, String separator) { return StringUtils.join(strings, separator); } @Override public String substringAfter(String text, String after) { return StringUtils.substringAfter(text, after); } @Override public boolean endsWithIgnoreCase(String text, String expected) { return StringUtils.endsWithIgnoreCase(text, expected); } @Override public String lowerCase(String text) { return StringUtils.lowerCase(text); } @Override public String upperCase(String text) { return StringUtils.upperCase(text); } @Override public boolean isArrayEmpty(Object[] array) { return ArrayUtils.isEmpty(array); } @Override public boolean isArrayNotEmpty(Object[] array) { return ArrayUtils.isNotEmpty(array); } @Override public boolean isArrayNotEmpty(byte[] array) { return ArrayUtils.isNotEmpty(array); } @Override public boolean isArrayEmpty(byte[] array) { return ArrayUtils.isEmpty(array); } @Override public byte[] subarray(byte[] array, int start, int length) { return ArrayUtils.subarray(array, start, length); } @Override public boolean isTrue(Boolean bool) { return BooleanUtils.isTrue(bool); } @Override @SuppressWarnings("rawtypes") public boolean isCollectionEmpty(Collection collection) { return CollectionUtils.isEmpty(collection); } @Override @SuppressWarnings("rawtypes") public boolean isCollectionNotEmpty(Collection collection) { return CollectionUtils.isNotEmpty(collection); } @Override @SuppressWarnings("rawtypes") public int collectionSize(Collection collection) { return CollectionUtils.size(collection); } @Override public String toHex(byte[] bytes) { return Hex.encodeHexString(bytes); } @Override public String toBase64(byte[] bytes) { return Base64.encodeBase64String(bytes); } @Override public byte[] fromBase64(String base64) { return Base64.decodeBase64(base64); } @Override public byte[] toByteArray(InputStream is) throws IOException { return IOUtils.toByteArray(is); } @Override public void closeQuietly(Closeable closeable) { IOUtils.closeQuietly(closeable); } @Override public void copy(InputStream is, OutputStream os) throws IOException { IOUtils.copy(is, os); } @Override public void write(byte[] content, OutputStream os) throws IOException { IOUtils.write(content, os); } @Override public void cleanDirectory(File directory) throws IOException { FileUtils.cleanDirectory(directory); } @Override public Collection<File> listFiles(File folder, String[] extensions, boolean recursive) { return FileUtils.listFiles(folder, extensions, recursive); } }