Monday, October 12, 2020

Java Basic Util - BasicUtil

 package basic.util;


import java.sql.Timestamp;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Date;


import basic.util.exception.BaseException;


public class BasicUtil {

private static ArrayList<String> baseTypeList = new ArrayList<String>() {

private static final long serialVersionUID = 1L;

{

add("int");

add("double");

add("float");

add("long");

add("short");

add("boolean");

add("byte");

add("char");

add("void");

}

};


public static boolean isAnyNull(Object... values) {

if (values.length <= 0)

return true;


for (Object value : values) {

if (value == null) {

return true;

}

}


return false;

}

public static boolean isSystemClass(Class<?> clz) {   

        return clz != null && clz.getClassLoader() == null;   

    }

public static boolean isBasiType(String typeName) {   

return baseTypeList.contains(typeName);

    }

public static boolean isCollectionOrArray(Class<?> returnType) {

        boolean isCollection = Collection.class.isAssignableFrom(returnType);

        boolean isArray = returnType.isArray();

        return isCollection || isArray;

    }

public static Date parseStringToDate(String date) {

String parse = date.replaceFirst("[0-9]{4}([^0-9]?)", "yyyy$1");

parse = parse.replaceFirst("^[0-9]{2}([^0-9]?)", "yy$1");

parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1MM$2");

parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}( ?)", "$1dd$2");

parse = parse.replaceFirst("( )[0-9]{1,2}([^0-9]?)", "$1HH$2");

parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1mm$2");

parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1ss$2");

DateFormat format = new SimpleDateFormat(parse);


Date result = null;

try {

result = format.parse(date);

} catch (ParseException exception) {

BaseException.throwException(exception);

}

return result;

}

public static Date parseStringToTimestamp(String date) {

return new Timestamp(parseStringToDate(date).getTime());

}


}


No comments:

Post a Comment