Esempio n. 1
0
 private <T extends Mergeable> void updateTag(T target, String tag, boolean remove) {
   if (tag != null) {
     if (remove) {
       target.removeMergeTag(tag);
     } else {
       target.addMergeTag(tag);
     }
   }
 }
Esempio n. 2
0
  private <T extends Mergeable> T updateMergeTags(T mergeable) throws MergerException {
    try {
      mergeable.setGenerated(true);

      BeanInfo beanInfo = Introspector.getBeanInfo(mergeable.getClass());

      for (PropertyDescriptor propertyDescriptor : beanInfo.getPropertyDescriptors()) {
        Method readMethod = propertyDescriptor.getReadMethod();
        Method writeMethod = propertyDescriptor.getWriteMethod();

        Merge mergeAnnotation = findAnnotation(Merge.class, writeMethod, readMethod);

        if (mergeAnnotation != null) {
          mergeable.addMergeTag(mergeAnnotation.value());
        }
      }
    } catch (IntrospectionException e) {
      throw new MergerException(e);
    }

    return mergeable;
  }