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

com.app.common.encrypt.ConvertUtils Maven / Gradle / Ivy

The newest version!
package com.app.common.encrypt;

import java.io.UnsupportedEncodingException;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;

public abstract class ConvertUtils {

    private static final DecimalFormat simpleFormat = new DecimalFormat("####");

    public static final boolean objectToBoolean(Object o){
        return o != null ? Boolean.valueOf(o.toString()).booleanValue() : false;
    }

    public static final int objectToInt(Object o){
        if(o instanceof Number)
            return ((Number)o).intValue();
        try{
            if(o == null)
                return -1;
            else
                return Integer.parseInt(o.toString());
        }catch(NumberFormatException e){
            return -1;
        }
    }

    public static final short objectToShort(Object o){
        if(o instanceof Number)
            return ((Number)o).shortValue();
        try{
            if(o == null)
                return -1;
            else
                return Short.parseShort(o.toString());
        }catch(NumberFormatException e){
            return -1;
        }
    }

    public static final double objectToDouble(Object o){
        if(o instanceof Number)
            return ((Number)o).doubleValue();
        try{
            if(o == null)
                return -1D;
            else
                return Double.parseDouble(o.toString());
        }catch(NumberFormatException e){
            return -1D;
        }
    }

    public static final long objectToLong(Object o)
    {
        if(o instanceof Number)
            return ((Number)o).longValue();
        try{
            if(o == null)
                return -1L;
            else
                return Long.parseLong(o.toString());
        }catch(NumberFormatException e){
            return -1L;
        }
    }

    public static final String objectToString(Object obj, DecimalFormat fmt)
    {
        fmt.setDecimalSeparatorAlwaysShown(false);
        if(obj instanceof Double)
            return fmt.format(((Double)obj).doubleValue());
        if(obj instanceof Long)
            return fmt.format(((Long)obj).longValue());
        else
            return obj.toString();
    }

    public static final Object getObjectValue(String value)
    {
        try{
            return Long.valueOf(value);
        }catch(NumberFormatException e) {}

        try{
            return Double.valueOf(value);
        }catch(NumberFormatException e){
            return value;
        }
    }

    public static String longToSimpleString(long value){
        return simpleFormat.format(value);
    }

    public static String asHex(byte hash[]){
        return toHex(hash);
    }

    public static String toHex(byte input[]){
        if(input == null)
            return null;
        StringBuffer output = new StringBuffer(input.length * 2);
        for(int i = 0; i < input.length; i++){
            int current = input[i] & 0xff;
            if(current < 16)
                output.append("0");
            output.append(Integer.toString(current, 16));
        }

        return output.toString();
    }

    public static byte[] fromHex(String input){
        if(input == null)
            return null;
        byte output[] = new byte[input.length() / 2];
        for(int i = 0; i < output.length; i++)
            output[i] = (byte)Integer.parseInt(input.substring(i * 2, (i + 1) * 2), 16);

        return output;
    }

    public static String stringToHexString(String input, String encoding)
        throws UnsupportedEncodingException{
        return input != null ? toHex(input.getBytes(encoding)) : null;
    }

    public static String stringToHexString(String input){
        try{
            return stringToHexString(input, "UTF-8");
        }catch(UnsupportedEncodingException e){
            throw new IllegalStateException("UTF-8 encoding is not supported by JVM");
        }
    }

    public static String hexStringToString(String input, String encoding)
        throws UnsupportedEncodingException{
        return input != null ? new String(fromHex(input), encoding) : null;
    }

    public static String hexStringToString(String input){
        try{
            return hexStringToString(input, "UTF-8");
        }catch(UnsupportedEncodingException e){
            throw new IllegalStateException("UTF-8 encoding is not supported by JVM");
        }
    }

    public static String timeZoneToCode(TimeZone tz){

        return timeZoneToString(tz);
    }

    public static TimeZone codeToTimeZone(String tzString){

        return stringToTimeZone(tzString);
    }

    public static String timeZoneToString(TimeZone tz){

        return tz != null ? tz.getID() : "";
    }

    public static TimeZone stringToTimeZone(String tzString){

        return TimeZone.getTimeZone(tzString != null ? tzString : "");
    }

    public static String localeToCode(Locale aLocale){

        return localeToString(aLocale);
    }

    public static Locale codeToLocale(String locString){

        return stringToLocale(locString);
    }

    public static String localeToString(Locale loc){

        return loc != null ? loc.toString() : "";
    }

    public static Locale stringToLocale(String locString){

        locString = locString != null ? locString.trim() : "";
        if(locString.equals(""))
            return new Locale("", "", "");
        int pos = locString.indexOf(95);
        if(pos == -1)
            return new Locale(locString, "", "");
        String language = locString.substring(0, pos);
        locString = locString.substring(pos + 1);
        pos = locString.indexOf(95);
        if(pos == -1){
            return new Locale(language, locString, "");
        }else{
            String country = locString.substring(0, pos);
            locString = locString.substring(pos + 1);
            return new Locale(language, country, locString);
        }
    }

    public static Date dateToSQLDate(java.util.Date d){

        return d != null ? new Date(d.getTime()) : null;
    }

    public static Time dateToSQLTime(java.util.Date d){

        return d != null ? new Time(d.getTime()) : null;
    }

    public static Timestamp dateToSQLTimestamp(java.util.Date d){

        return d != null ? new Timestamp(d.getTime()) : null;
    }

    public static java.util.Date sqlTimestampToDate(Timestamp t){

        return t != null ? new java.util.Date(Math.round((double)t.getTime() + (double)t.getNanos() / 1000000D)) : null;
    }

    public static Timestamp getCurrentDate(){

        Calendar c = Calendar.getInstance();
        c.set(c.get(1), c.get(2), c.get(5), 0, 0, 0);
        Timestamp t = new Timestamp(c.getTime().getTime());
        t.setNanos(0);
        return t;
    }

    public static java.util.Date getDate(int y, int m, int d, boolean inclusive)
    {
        java.util.Date dt = null;
        Calendar c = Calendar.getInstance();
        c.clear();
        if(c.getActualMinimum(1) <= y && y <= c.getActualMaximum(1))
        {
            c.set(1, y);
            if(c.getActualMinimum(2) <= m && m <= c.getActualMaximum(2))
            {
                c.set(2, m);
                if(c.getActualMinimum(5) <= d && d <= c.getActualMaximum(5))
                    c.set(5, d);
            }
            if(inclusive)
            {
                c.add(5, 1);
                c.add(14, -1);
            }
            dt = c.getTime();
        }
        return dt;
    }

    public static java.util.Date getDateStart(java.util.Date d)
    {

         Calendar c = new GregorianCalendar();
         c.clear();
         Calendar co = new GregorianCalendar();
         co.setTime(d);
         c.set(Calendar.DAY_OF_MONTH,co.get(Calendar.DAY_OF_MONTH));
         c.set(Calendar.MONTH,co.get(Calendar.MONTH));
         c.set(Calendar.YEAR,co.get(Calendar.YEAR));
         //c.add(Calendar.DAY_OF_MONTH,1);
         //c.add(Calendar.MILLISECOND,-1);
         return c.getTime();
    }

    public static java.util.Date getDateEnd(java.util.Date d)
    {
         Calendar c = Calendar.getInstance();
         c.clear();
         Calendar co = Calendar.getInstance();
         co.setTime(d);
         c.set(Calendar.DAY_OF_MONTH,co.get(Calendar.DAY_OF_MONTH));
         c.set(Calendar.MONTH,co.get(Calendar.MONTH));
         c.set(Calendar.YEAR,co.get(Calendar.YEAR));
         c.add(Calendar.DAY_OF_MONTH,1);
         c.add(Calendar.MILLISECOND,-1);
         return c.getTime();
    }

    public static double roundNumber(double rowNumber, int roundingPoint)
    {
        double base = Math.pow(10D, roundingPoint);
        return (double)Math.round(rowNumber * base) / base;
    }
    public static Object getObject(String type,String value) throws Exception{

    	type=type.toLowerCase();
    	if("boolean".equals(type))
            return Boolean.valueOf(value);
        if("byte".equals(type))
            return Byte.valueOf(value);
        if("short".equals(type))
            return Short.valueOf(value);
        if("char".equals(type))
            if(value.length() != 1)
                throw new NumberFormatException("Argument is not a character!");
            else
                return Character.valueOf(value.toCharArray()[0]);
        if("int".equals(type))
            return Integer.valueOf(value);
        if("long".equals(type))
            return Long.valueOf(value);
        if("float".equals(type))
            return Float.valueOf(value);
        if("double".equals(type))
            return Double.valueOf(value);
        if("string".equals(type))
            return value;
		else{
	        Object objs[]=new String[]{value};
			return Class.forName(type).getConstructor(new Class[] {
				    String.class
				}).newInstance(objs);
		}
    }
    private ConvertUtils(){}

//    public static void main(String[] args)
//    {
//    	System.out.println(getDateStart(new java.util.Date()));
//    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy