Package org.milyn.scribe.annotation

Examples of org.milyn.scribe.annotation.Delete


   * @param method
   */
  private void analyzeDeleteMethod(final AnnotatedMethod aMethod) {
    Method method = aMethod.getMethod();

    Delete annotation = aMethod.getAnnotation(Delete.class);

    String name = annotation.name();
    if(name.length() == 0) {
      name = method.getName();
    }

    assertUniqueName(deleteMethods, Delete.class, name);

    if(annotation.isDefault() && defaultDeleteMethod != null) {
      throw new IllegalAnnotationUsageException("At least two methods are annotated with the '"+ Delete.class.getName() +"' annotation having the isDefault on true. Only one method per class is allowed to be the default delete method.");
    }
    if(method.getParameterTypes().length == 0) {
      throw new IllegalAnnotationUsageException("The Delete annotated method '"+ method +"' of the DAO class '"+ daoClass.getName() +"' doesn't have a parameter, which it needs.");
    }
    if(method.getParameterTypes().length > 1) {
      throw new IllegalAnnotationUsageException("The Delete annotated method '"+ method +"'  the DAO class '"+ daoClass.getName() +"' has more then 1 parameter, which isn't allowed.");
    }


    boolean returnsEntity  = !method.isAnnotationPresent(ReturnsNoEntity.class);

    EntityMethod deleteMethod = new EntityMethod(method, returnsEntity);

    if(annotation.isDefault()) {
      defaultDeleteMethod = deleteMethod;
    }
    deleteMethods.put(name, deleteMethod);
  }
View Full Code Here

TOP

Related Classes of org.milyn.scribe.annotation.Delete

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.