001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041: package org.netbeans.modules.visualweb.faces.dt.converter;
042:
043: import org.netbeans.modules.visualweb.faces.dt.HtmlNonGeneratedBeanInfoBase;
044: import java.beans.*;
045: import com.sun.rave.designtime.*;
046: import com.sun.rave.propertyeditors.DomainPropertyEditor;
047: import org.netbeans.modules.visualweb.faces.dt.util.ComponentBundle;
048: import com.sun.rave.propertyeditors.IntegerPropertyEditor;
049: import com.sun.rave.propertyeditors.SelectOneDomainEditor;
050: import com.sun.rave.propertyeditors.domains.LocalesDomain;
051: import javax.faces.convert.NumberConverter;
052:
053: public class NumberConverterBeanInfo extends
054: HtmlNonGeneratedBeanInfoBase { // SimpleBeanInfo
055:
056: private static final ComponentBundle bundle = ComponentBundle
057: .getBundle(NumberConverterBeanInfo.class);
058:
059: /**
060: * Construct a <code>NumberConverterBeanInfo</code> instance
061: */
062: public NumberConverterBeanInfo() {
063: beanClass = NumberConverter.class;
064: iconFileName_C16 = "NumberConverter_C16"; //NOI18N
065: iconFileName_C32 = "NumberConverter_C32"; //NOI18N
066: iconFileName_M16 = "NumberConverter_M16"; //NOI18N
067: iconFileName_M32 = "NumberConverter_M32"; //NOI18N
068: }
069:
070: private BeanDescriptor beanDescriptor;
071:
072: /**
073: * @return The BeanDescriptor
074: */
075: public BeanDescriptor getBeanDescriptor() {
076: if (beanDescriptor == null) {
077: beanDescriptor = new BeanDescriptor(beanClass);
078: //beanDescriptor.setValue(Constants.BeanDescriptor.TAGLIB_URI, "http://java.sun.com/jsf/core"); //NOI18N
079: //beanDescriptor.setValue(Constants.BeanDescriptor.TAG_NAME, "convertNumber"); //NOI18N
080: beanDescriptor.setValue(
081: Constants.BeanDescriptor.INSTANCE_NAME,
082: "numberConverter"); //NOI18N
083: beanDescriptor.setDisplayName(bundle
084: .getMessage("numConvert")); //NOI18N
085: beanDescriptor.setShortDescription(bundle
086: .getMessage("numConvertShortDesc")); //NOI18N
087: beanDescriptor
088: .setValue(Constants.BeanDescriptor.HELP_KEY,
089: "projrave_ui_elements_palette_jsf-val-conv_number_converter");
090: }
091: return beanDescriptor;
092: }
093:
094: private PropertyDescriptor[] propDescriptors;
095:
096: /**
097: * Returns the PropertyDescriptor array which describes
098: * the property meta-data for this JavaBean
099: *
100: * @return An array of PropertyDescriptor objects
101: */
102: public PropertyDescriptor[] getPropertyDescriptors() {
103:
104: if (propDescriptors == null) {
105: try {
106:
107: PropertyDescriptor _currencyCode = new PropertyDescriptor(
108: "currencyCode", beanClass, "getCurrencyCode",
109: "setCurrencyCode"); //NOI18N
110: // _currencyCode.setShortDescription("");
111:
112: PropertyDescriptor _currencySymbol = new PropertyDescriptor(
113: "currencySymbol", beanClass,
114: "getCurrencySymbol", "setCurrencySymbol"); //NOI18N
115: // _currencySymbol.setShortDescription("");
116:
117: PropertyDescriptor _integerOnly = new PropertyDescriptor(
118: "integerOnly", beanClass, "isIntegerOnly",
119: "setIntegerOnly"); //NOI18N
120: // _integerOnly.setShortDescription("");
121:
122: PropertyDescriptor _groupingUsed = new PropertyDescriptor(
123: "groupingUsed", beanClass, "isGroupingUsed",
124: "setGroupingUsed"); //NOI18N
125: // _integerOnly.setShortDescription("");
126:
127: PropertyDescriptor _maxFractionDigits = new PropertyDescriptor(
128: "maxFractionDigits", beanClass,
129: "getMaxFractionDigits", "setMaxFractionDigits"); //NOI18N
130: // _maxFractionDigits.setShortDescription("");
131: _maxFractionDigits
132: .setPropertyEditorClass(IntegerPropertyEditor.class);
133: _maxFractionDigits.setValue(
134: "com.sun.rave.propertyeditors.MIN_VALUE", "0");
135:
136: PropertyDescriptor _minFractionDigits = new PropertyDescriptor(
137: "minFractionDigits", beanClass,
138: "getMinFractionDigits", "setMinFractionDigits"); //NOI18N
139: // _minFractionDigits.setShortDescription("");
140: _minFractionDigits
141: .setPropertyEditorClass(IntegerPropertyEditor.class);
142: _minFractionDigits.setValue(
143: "com.sun.rave.propertyeditors.MIN_VALUE", "0");
144:
145: PropertyDescriptor _maxIntegerDigits = new PropertyDescriptor(
146: "maxIntegerDigits", beanClass,
147: "getMaxIntegerDigits", "setMaxIntegerDigits"); //NOI18N
148: // _maxIntegerDigits.setShortDescription("");
149: _maxIntegerDigits
150: .setPropertyEditorClass(IntegerPropertyEditor.class);
151: _maxIntegerDigits.setValue(
152: "com.sun.rave.propertyeditors.MIN_VALUE", "0");
153:
154: PropertyDescriptor _minIntegerDigits = new PropertyDescriptor(
155: "minIntegerDigits", beanClass,
156: "getMinIntegerDigits", "setMinIntegerDigits"); //NOI18N
157: // _minIntegerDigits.setShortDescription("");
158: _minIntegerDigits
159: .setPropertyEditorClass(IntegerPropertyEditor.class);
160: _minIntegerDigits.setValue(
161: "com.sun.rave.propertyeditors.MIN_VALUE", "0");
162:
163: PropertyDescriptor _locale = new PropertyDescriptor(
164: "locale", beanClass, "getLocale", "setLocale"); //NOI18N
165: // _locale.setShortDescription("");
166: _locale
167: .setPropertyEditorClass(SelectOneDomainEditor.class);
168: _locale.setValue(DomainPropertyEditor.DOMAIN_CLASS,
169: LocalesDomain.class);
170:
171: PropertyDescriptor _pattern = new PropertyDescriptor(
172: "pattern", beanClass, "getPattern",
173: "setPattern"); //NOI18N
174: // _pattern.setShortDescription("");
175: _pattern
176: .setPropertyEditorClass(NumberPatternPropertyEditor.class);
177:
178: PropertyDescriptor _type = new PropertyDescriptor(
179: "type", beanClass, "getType", "setType"); //NOI18N
180: // _type.setShortDescription("");
181: _type
182: .setPropertyEditorClass(NumberConverterTypePropertyEditor.class);
183:
184: propDescriptors = new PropertyDescriptor[] {
185: _currencyCode, _currencySymbol, _integerOnly,
186: _groupingUsed, _maxFractionDigits,
187: _minFractionDigits, _maxIntegerDigits,
188: _minIntegerDigits, _locale, _pattern, _type, };
189: } catch (IntrospectionException ix) {
190: ix.printStackTrace();
191: }
192: }
193:
194: return propDescriptors;
195: }
196: }
|