< prev index next >

src/jdk.xml.bind/share/classes/com/sun/codemodel/internal/JAnnotationUse.java

Print this page


   1 /*
   2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 276      * Adds a member value pair to this annotation
 277      * @param name
 278      *        The simple name for this annotation
 279      *
 280      * @param value
 281      *        The JEnumConstant which is member value for this annotation
 282      * @return
 283      *         The JAnnotationUse. More member value pairs can
 284      *         be added to it using the same or the overloaded methods.
 285      *
 286      */
 287     public JAnnotationUse param(String name, JEnumConstant value){
 288         addValue(name, new JAnnotationStringValue(value));
 289         return this;
 290     }
 291 
 292      /**
 293       * Adds a member value pair to this annotation
 294       *  This can be used for e.g to specify
 295       * <pre>
 296       *        @XmlCollectionItem(type=Integer.class);
 297       * <pre>
 298       * For adding a value of Class<? extends Annotation>
 299       * @link
 300       * #annotationParam(java.lang.String, java.lang.Class<? extends java.lang.annotation.Annotation>)
 301       * @param name
 302       *        The simple name for this annotation param
 303       *
 304       * @param value
 305       *        The class type of the param
 306       * @return
 307       *         The JAnnotationUse. More member value pairs can
 308       *         be added to it using the same or the overloaded methods.
 309       *
 310       *
 311       *
 312       */
 313      public JAnnotationUse param(String name, final Class<?> value){
 314          addValue(name, new JAnnotationStringValue(
 315                          new JExpressionImpl() {
 316                                  public void generate(JFormatter f) {
 317                                          f.p(value.getName().replace('$', '.'));
 318                                          f.p(".class");
 319                                 }
 320                          }));


   1 /*
   2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   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
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 276      * Adds a member value pair to this annotation
 277      * @param name
 278      *        The simple name for this annotation
 279      *
 280      * @param value
 281      *        The JEnumConstant which is member value for this annotation
 282      * @return
 283      *         The JAnnotationUse. More member value pairs can
 284      *         be added to it using the same or the overloaded methods.
 285      *
 286      */
 287     public JAnnotationUse param(String name, JEnumConstant value){
 288         addValue(name, new JAnnotationStringValue(value));
 289         return this;
 290     }
 291 
 292      /**
 293       * Adds a member value pair to this annotation
 294       *  This can be used for e.g to specify
 295       * <pre>
 296       *        {@code @XmlCollectionItem(type=Integer.class);}
 297       * </pre>
 298       * For adding a value of {@code Class<? extends Annotation>}
 299       * {@link #annotationParam(java.lang.String, java.lang.Class)}

 300       * @param name
 301       *        The simple name for this annotation param
 302       *
 303       * @param value
 304       *        The class type of the param
 305       * @return
 306       *         The JAnnotationUse. More member value pairs can
 307       *         be added to it using the same or the overloaded methods.
 308       *
 309       *
 310       *
 311       */
 312      public JAnnotationUse param(String name, final Class<?> value){
 313          addValue(name, new JAnnotationStringValue(
 314                          new JExpressionImpl() {
 315                                  public void generate(JFormatter f) {
 316                                          f.p(value.getName().replace('$', '.'));
 317                                          f.p(".class");
 318                                 }
 319                          }));


< prev index next >