jdk/make/data/swingbeaninfo/SwingBeanInfo.template
author duke
Wed, 05 Jul 2017 20:40:41 +0200
changeset 31499 fae46850f641
parent 29912 4478c08657e0
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
29912
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
     2
 * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    23
 * questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
package @(BeanPackageName);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
import java.beans.BeanDescriptor;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
import java.beans.PropertyDescriptor;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
import java.awt.Image;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
import sun.swing.BeanInfoUtils;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
/**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
 * Descriptive information about the @(BeanClassName) class for Java 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
 * Beans application builders.  This BeanInfo class provides descriptions
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
 * of each property, of the bean itself, it indicates which
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
 * @(BeanClassName) properties are bound, and it provides other
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
 * information and icons useful to builders.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
 * 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
 * @author Auto-Generated Source Code
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
public class @(BeanClassName)BeanInfo extends javax.swing.SwingBeanInfoBase {
25776
654b0255bbae 8047027: Fix raw and unchecked lint warnings in generated beaninfo files
darcy
parents: 23010
diff changeset
    45
    private static final Class<?> class@(BeanClassName) = @(BeanClassObject);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
     * @return a @(BeanClassName) BeanDescriptor
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
    public BeanDescriptor getBeanDescriptor() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
        return BeanInfoUtils.createBeanDescriptor(class@(BeanClassName),
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
                                                  new Object[] {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
                BeanInfoUtils.PREFERRED, Boolean.TRUE,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
                @(ClassDescriptors)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
                    BeanInfoUtils.SHORTDESCRIPTION, "@(BeanDescription)"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
        });
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
     * Create a @(BeanClassName) PropertyDescriptor.  This is just an internal
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
     * convenience method that allows one to leave the @(BeanClassName).class
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
     * argument out of the createPropertyDescriptor() class in the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
     * getPropertyDescriptors() method below.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
     * 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
     * @param name the name of the property
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
     * @param args an array java.beans.PropertyDescriptor property names and values
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
     * @return a @(BeanClassName) PropertyDescriptor.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
     * @see BeanInfoUtils#createPropertyDescriptor
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
    private PropertyDescriptor createPropertyDescriptor(String name, Object[] args) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
        return BeanInfoUtils.createPropertyDescriptor(class@(BeanClassName), name, args);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
     * This method returns a list of bean PropertyDescriptors, one for each public
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
     * property in @(BeanClassName).  The first property is the "default" property.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
     *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
     * @return a complete list of bean PropertyDescriptors for @(BeanClassName)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
     * @see SwingBeanInfo
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
     * @see java.beans.BeanInfo#getDefaultPropertyIndex
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
     */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
    public PropertyDescriptor[] getPropertyDescriptors() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
        @(EnumVariables)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
        return new PropertyDescriptor[] {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
            @(BeanPropertyDescriptors)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
        };
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
    }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
    /**
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
     * @return an icon of the specified kind for @(BeanClassName)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
     */
29912
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
    95
    public Image getIcon(final int kind) {
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
        Image i;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
        switch (kind){
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
            case ICON_COLOR_32x32:
29912
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
    99
                i = loadStandardImage("beaninfo/images/@(BeanClassName)Color32.gif");
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   100
                return ((i == null) ? loadStandardImage("beaninfo/images/JComponentColor32.gif") : i);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
            case ICON_COLOR_16x16:
29912
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   102
                i = loadStandardImage("beaninfo/images/@(BeanClassName)Color16.gif");
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   103
                return ((i == null) ? loadStandardImage("beaninfo/images/JComponentColor16.gif") : i);
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
            case ICON_MONO_32x32:
29912
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   105
                i = loadStandardImage("beaninfo/images/@(BeanClassName)Mono32.gif");
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   106
                return ((i == null) ? loadStandardImage("beaninfo/images/JComponentMono32.gif") : i);         
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
            case ICON_MONO_16x16:
29912
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   108
                i = loadStandardImage("beaninfo/images/@(BeanClassName)Mono16.gif");
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   109
                return ((i == null) ? loadStandardImage("beaninfo/images/JComponentMono16.gif") : i);         
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
            default:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
                return super.getIcon(kind);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
        }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
    }
29912
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   114
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   115
    /**
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   116
     * This is a utility method to help in loading standard icon images.
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   117
     *
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   118
     * @param  resourceName A pathname relative to the directory holding the
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   119
     *         class file of the current class
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   120
     * @return an image object. May be null if the load failed.
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   121
     * @see java.beans.SimpleBeanInfo#loadImage(String)
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   122
     */
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   123
    private Image loadStandardImage(final String resourceName) {
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   124
        return java.security.AccessController.doPrivileged(
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   125
                (java.security.PrivilegedAction<Image>) () -> loadImage(resourceName));
4478c08657e0 8068320: Limit applet requests
serb
parents: 25776
diff changeset
   126
    }
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
}
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129