1 package com.lexicalscope.fluentreflection; 2 3 import java.lang.annotation.Annotation; 4 5 import org.hamcrest.Matcher; 6 7 /* 8 * Copyright 2011 Tim Wood 9 * 10 * Licensed under the Apache License, Version 2.0 (the "License"); 11 * you may not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 */ 22 23 /** 24 * Reflection access to an annotated program element. 25 * 26 * @author tim 27 */ 28 public interface FluentAnnotated { 29 FluentClass<?> annotation(Matcher<? super FluentClass<?>> annotationMatcher); 30 <A extends Annotation> A annotation(Class<A> annotationClass); 31 32 boolean annotatedWith(Class<? extends Annotation> annotationClass); 33 boolean annotatedWith(Matcher<? super FluentClass<?>> annotationMatcher); 34 }