diff options
author | 2018-07-30 15:56:09 -0400 | |
---|---|---|
committer | 2018-07-31 11:09:25 -0400 | |
commit | 5a6a6de6f1a26a1897e4917a0df613e25a24eb70 (patch) | |
tree | 59a968f27b4b603aacc9d5e7b51fb598aeec5321 /common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java | |
parent | b6dc38501f3b746426b42d9de4cc883d894149e8 (diff) |
Containerization feature of SO
Change-Id: I95381232eeefcd247a66a5cec370a8ce1c288e18
Issue-ID: SO-670
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
Diffstat (limited to 'common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java')
-rw-r--r-- | common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java b/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java deleted file mode 100644 index fdfb9695e7..0000000000 --- a/common/src/main/java/org/openecomp/mso/openpojo/rules/HasAnnotationMatcher.java +++ /dev/null @@ -1,69 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.mso.openpojo.rules; - -import static org.hamcrest.CoreMatchers.anything; - -import java.lang.annotation.Annotation; -import java.lang.reflect.AnnotatedElement; - -import org.hamcrest.Description; -import org.hamcrest.Matcher; -import org.hamcrest.TypeSafeDiagnosingMatcher; - -public class HasAnnotationMatcher<T extends Annotation> extends TypeSafeDiagnosingMatcher<AnnotatedElement> { - private final Class<T> annotationType; - private final Matcher<? super T> annotationMatcher; - - public HasAnnotationMatcher(final Class<T> annotationType, final Matcher<? super T> annotationMatcher) { - this.annotationType = annotationType; - this.annotationMatcher = annotationMatcher; - } - - @Override - protected boolean matchesSafely(final AnnotatedElement item, final Description mismatchDescription) { - final T annotation = item.getAnnotation(this.annotationType); - if (annotation == null) { - mismatchDescription.appendText("does not have annotation ").appendText(this.annotationType.getName()); - return false; - } - - if (!this.annotationMatcher.matches(annotation)) { - this.annotationMatcher.describeMismatch(annotation, mismatchDescription); - return false; - } - - return true; - } - - @Override - public void describeTo(final Description description) { - // Intentionally left blank. - } - - public static Matcher<AnnotatedElement> hasAnnotation(final Class<? extends Annotation> annotationType) { - return hasAnnotation(annotationType, anything("")); - } - - public static <T extends Annotation> Matcher<AnnotatedElement> hasAnnotation(final Class<T> annotationType, final Matcher<? super T> annotationMatcher) { - return new HasAnnotationMatcher<T>(annotationType, annotationMatcher); - } -} |