Advertisement
Sawy3R11

ConstructObjects

Feb 8th, 2019
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.13 KB | None | 0 0
  1. public static <T> Object ConstructObjectWithDefaultValue( Object obj  ) {
  2.         try {
  3.             //get all fields of class
  4.             Field[] fields = obj.getClass().getDeclaredFields();
  5.             Field[] fieldsSuperClass = obj.getClass().getSuperclass().getDeclaredFields();
  6.             //set fields of base class
  7.             if( fields!=null && fields.length > 0 ) {
  8.                 for( Field f : fields ) {
  9.                     setField(obj, f);
  10.                 }
  11.             }
  12.             //set fields of super class
  13.             if( fieldsSuperClass!=null && fieldsSuperClass.length>0 ) {
  14.                 for(Field f : fieldsSuperClass ) {
  15.                     setField(obj, f);
  16.                 }
  17.             }
  18.         }catch (Exception e) {
  19.             System.out.println( e.toString() );
  20.         }
  21.         return obj;
  22.        
  23.     }
  24.    
  25.     public static void setField( Object obj,Field f ) throws Error, IllegalArgumentException, IllegalAccessException{
  26.         //override private access modifier
  27.         f.setAccessible( true );
  28.        
  29.         //---PRIMITIVE_TYPES-------------------
  30.         if( f.getType() == boolean.class ) {
  31.             f.set(obj, false);
  32.         }else if( f.getType() == boolean[].class ) {
  33.             boolean[] boolArray = new boolean[0];
  34.             f.set(obj, boolArray);
  35.         }else if( f.getType() == int.class ) {
  36.             f.set(obj, 0);
  37.         }else if( f.getType() == short.class ) {
  38.             f.set(obj, 0);
  39.         }else if( f.getType() == int.class ) {
  40.             f.set(obj, 0);
  41.         }else if( f.getType() == long.class ) {
  42.             f.set(obj, 0);
  43.         }else if( f.getType() == float.class ) {
  44.             f.set(obj, 0.0f);
  45.         }else if( f.getType() == double.class ) {
  46.             f.set(obj, 0.0d);
  47.         }else if( f.getType() == char.class ) {
  48.             f.set(obj, '0');
  49.         }
  50.         //---//PRIMITIVE_TYPES-----------------
  51.        
  52.         //---COMPLEX_JAVA_LANG_TYPES-----------
  53.         else if( f.getType() == String.class ) {
  54.             f.set(obj, "");
  55.         }else if( f.getType() == Integer.class ) {
  56.             f.set(obj, 0);
  57.         }
  58.         //---//COMPLEX_JAVA_LANG_TYPES---------
  59.        
  60.         //---COMPLEX_JAVA_UTIL_TYPES-----------
  61.         else if( f.getType() == Calendar.class ) {
  62.             Calendar c = Calendar.getInstance();
  63.             c.setTime(new Date());
  64.             f.set(obj, c);
  65.         }else if( f.getType() == Date.class ) {
  66.             f.set(obj, new Date());
  67.         }
  68.         //---//COMPLEX_JAVA_UTIL_TYPES---------
  69.        
  70.         //---CUSTOM_TYPES----------------------
  71.         //---//CUSTOM_TYPES--------------------
  72.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement