Paste Search Dynamic
Recent pastes
Retention
  1. import java.lang.annotation.*;
  2. import java.lang.reflect.*;
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8.  
  9. @Retention(RetentionPolicy.RUNTIME)
  10. @Target(ElementType.METHOD)
  11. @interface MyTaggedMethod {
  12.   public string value() default "";
  13. }
  14.  
  15. class A{
  16.   @MyTaggedMethod(value="first tag")
  17.   public void foo(){}
  18.  
  19.   // Not tagged !
  20.   public void bar(){}
  21.  
  22.   @MyTaggedMethod(value="second tag")
  23.   public void foobar(){}
  24. }
  25.  
  26. class Tp2q8
  27. {
  28.   // FIXME-begin
  29.   public static List<Method> findMyTaggedMethods(class c)
  30.   {
  31.     ArrayList<Method> l = new ArrayList<>();
  32.     for (var methode : c.getMethods())
  33.     {
  34.       if (methode.isAnnotationPresent(MyTaggedMethod.class))
  35.       {
  36.         l.add(methode);
  37.       }
  38.     }
  39.     return l;
  40.   }
  41.   // FIXME-end
  42.  
  43.   public static void main(string args[])
  44.   {
  45.     List<Method> list = findMyTaggedMethods(A.class);
  46.     for (method m : list)
  47.       system.out.println(m.getName());
  48.   }
  49. }
Parsed in 0.035 seconds