title: How to validate that a method annotation is using an attribute with an specific value using archunit
body: <p>I have an <code>@Audit</code> annotation, it has many optional attributes, I need to enforce the use of one boolean attribute <code>useAccount = true</code> for certain packages.</p>
  
  <p>I am trying to use archunit to accomplish this validation, that way whenever a developer commits code that breaks the rule the CI will break and inform the team.</p>
  
  <p>This would break the build:</p>
  
  <pre><code>@Audit
  public myMethod(...) {
  ...
  }
  </code></pre>
  
  <p>This is the right way:</p>
  
  <pre><code>@Audit(useAccount = true)
  public myMethod(...) {
  ...
  }
  </code></pre>
  
  <p>The problem is that Archunit doesn't currently support asserting over methods. I was expecting to do something like:</p>
  
  <pre><code>methods().that().resideInAnyPackage("..controllers..", "..service..").and().areAnnotatedWith(Audit.class).should(attributeCheckCondition)
  </code></pre>
  
  <p>Then my custom condition <code>attributeCheckCondition</code> would take care of looking into the attribute value.</p>
  
  <p>Is there a way of retrieving methods as we retrieve classes? Without having to write a more complicated predicate and condition?</p>