FeatureDescriptor.java revision 243
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * This code is free software; you can redistribute it and/or modify it
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * under the terms of the GNU General Public License version 2 only, as
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * published by the Free Software Foundation. Sun designates this
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * particular file as subject to the "Classpath" exception as provided
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * by Sun in the LICENSE file that accompanied this code.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * This code is distributed in the hope that it will be useful, but WITHOUT
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * version 2 for more details (a copy is included in the LICENSE file that
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * accompanied this code).
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * You should have received a copy of the GNU General Public License version
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * 2 along with this work; if not, write to the Free Software Foundation,
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * CA 95054 USA or visit www.sun.com if you need additional information or
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * have any questions.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * The FeatureDescriptor class is the common baseclass for PropertyDescriptor,
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * EventSetDescriptor, and MethodDescriptor, etc.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * It supports some common information that can be set and retrieved for
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * any of the introspection descriptors.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * In addition it provides an extension mechanism so that arbitrary
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * attribute/value pairs can be associated with a design feature.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj private static final String TRANSIENT = "transient";
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * Constructs a <code>FeatureDescriptor</code>.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * Gets the programmatic name of this feature.
d04ccbb3f3163ae5962a8b7465d9796bff6ca434carlsonj * @return The programmatic name of the property/method/event
return getName();
return displayName;
public boolean isExpert() {
return expert;
public boolean isHidden() {
return hidden;
public boolean isPreferred() {
return preferred;
return getDisplayName();
return shortDescription;
: null;
return this.table;
boolean isTransient() {
: null;
: null;
: null;
private boolean expert;
private boolean hidden;
private boolean preferred;