Generics

From Null-pointer

Jump to: navigation, search
  1. public static final Role getRole(String xml) {
  2.         return get(xml);
  3.     }
  4.  
  5.     /**
  6.      * Get the object contained within the xml.
  7.      * @param xml
  8.      * @return
  9.      */
  10.     public static <T> T get(String xml) {
  11.         T domain = null;
  12.         try {
  13.             Document document = DocumentHelper.parseText(xml);
  14.             Element root = document.getRootElement();
  15.             domain = (T) parse(root, null);
  16.         }
  17.         catch (DocumentException e) {
  18.             logger.error("", e);
  19.         }
  20.  
  21.         return domain;
  22.     }

more traditional way

  1. FlatUser(Object[] values) {
  2.         setUserId(getValue(Integer.class, values[0]));
  3.         setUserCreatedApplicationId(getValue(Integer.class, values[1]));
  4.         setGroupId(getValue(Integer.class, values[2]));
  5.         setGroupName(getValue(String.class, values[3]));
  6.         setGroupDescription(getValue(String.class, values[4]));
  7.         setRoleValue(getValue(String.class, values[5]));
  8.     }
  9.  
  10.  public <T> T getValue(Class<T> c, Object o) {
  11.         T t = null;
  12.         try {
  13.             if (o != null) {
  14.                 t = c.cast(o);
  15.             }
  16.             else {
  17.                 if (c.isInstance(new Integer(0))) {
  18.                     t = (T) new Integer(0);
  19.                 }
  20.                 else {
  21.                     t = c.newInstance();
  22.                 }
  23.             }
  24.         }
  25.         catch (InstantiationException e) {
  26.             e.printStackTrace();
  27.         }
  28.         catch (IllegalAccessException e) {
  29.             e.printStackTrace();
  30.         }
  31.         return t;
  32.     }
Personal tools