src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java
changeset 52437 77ae7b76e111
parent 47216 71c04702a3d5
equal deleted inserted replaced
52436:2090b60c5e26 52437:77ae7b76e111
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    72  * {@code RuntimeVisibleParameterAnnotations} or {@code RuntimeVisibleTypeAnnotations}
    72  * {@code RuntimeVisibleParameterAnnotations} or {@code RuntimeVisibleTypeAnnotations}
    73  * attribute, and <i>A</i> 's type is repeatable, and the attribute contains
    73  * attribute, and <i>A</i> 's type is repeatable, and the attribute contains
    74  * exactly one annotation whose value element contains <i>A</i> and whose
    74  * exactly one annotation whose value element contains <i>A</i> and whose
    75  * type is the containing annotation type of <i>A</i> 's type.
    75  * type is the containing annotation type of <i>A</i> 's type.
    76  *
    76  *
    77  * <li>An annotation <i>A</i> is present on an element <i>E</i> if either:
    77  * <li>An annotation <i>A</i> is <em>present</em> on an element <i>E</i> if either:
    78  *
    78  *
    79  * <ul>
    79  * <ul>
    80  *
    80  *
    81  * <li><i>A</i> is directly present on <i>E</i>; or
    81  * <li><i>A</i> is directly present on <i>E</i>; or
    82  *
    82  *
   143  * <td style="text-align:center">X</td><td style="text-align:center">X</td><td></td><td></td>
   143  * <td style="text-align:center">X</td><td style="text-align:center">X</td><td></td><td></td>
   144  * </tr>
   144  * </tr>
   145  * </tbody>
   145  * </tbody>
   146  * </table>
   146  * </table>
   147  *
   147  *
   148  * <p>For an invocation of {@code get[Declared]AnnotationsByType( Class <
   148  * <p>For an invocation of {@code get[Declared]AnnotationsByType(Class <T>)},
   149  * T >)}, the order of annotations which are directly or indirectly
   149  * the order of annotations which are directly or indirectly
   150  * present on an element <i>E</i> is computed as if indirectly present
   150  * present on an element <i>E</i> is computed as if indirectly present
   151  * annotations on <i>E</i> are directly present on <i>E</i> in place
   151  * annotations on <i>E</i> are directly present on <i>E</i> in place
   152  * of their container annotation, in the order in which they appear in
   152  * of their container annotation, in the order in which they appear in
   153  * the value element of the container annotation.
   153  * the value element of the container annotation.
   154  *
   154  *