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 com.sun.rave.propertyeditors.SelectOneDomainEditor;
048: import com.sun.rave.propertyeditors.domains.LocalesDomain;
049: import com.sun.rave.propertyeditors.domains.TimeZonesDomain;
050: import org.netbeans.modules.visualweb.faces.dt.util.ComponentBundle;
051: import javax.faces.convert.DateTimeConverter;
052:
053: public class DateTimeConverterBeanInfo extends
054: HtmlNonGeneratedBeanInfoBase { // SimpleBeanInfo
055:
056: private static final ComponentBundle bundle = ComponentBundle
057: .getBundle(DateTimeConverterBeanInfo.class);
058:
059: /**
060: * Construct a <code>DateTimeConverterBeanInfo</code> instance
061: */
062: public DateTimeConverterBeanInfo() {
063: beanClass = DateTimeConverter.class;
064: iconFileName_C16 = "DateTimeConverter_C16"; //NOI18N
065: iconFileName_C32 = "DateTimeConverter_C32"; //NOI18N
066: iconFileName_M16 = "DateTimeConverter_M16"; //NOI18N
067: iconFileName_M32 = "DateTimeConverter_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, "convertDateTime"); //NOI18N
080: beanDescriptor.setValue(
081: Constants.BeanDescriptor.INSTANCE_NAME,
082: "dateTimeConverter"); //NOI18N
083: beanDescriptor.setDisplayName(bundle
084: .getMessage("dtConvert")); //NOI18N
085: beanDescriptor.setShortDescription(bundle
086: .getMessage("dtConvertShortDesc")); //NOI18N
087: beanDescriptor
088: .setValue(Constants.BeanDescriptor.HELP_KEY,
089: "projrave_ui_elements_palette_jsf-val-conv_date_time_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 _dateStyle = new PropertyDescriptor(
108: "dateStyle", beanClass, "getDateStyle",
109: "setDateStyle"); //NOI18N
110: // _dateStyle.setShortDescription("");
111: _dateStyle
112: .setPropertyEditorClass(SelectOneDomainEditor.class);
113: _dateStyle.setValue(DomainPropertyEditor.DOMAIN_CLASS,
114: DateTimeStylesDomain.class);
115:
116: PropertyDescriptor _locale = new PropertyDescriptor(
117: "locale", beanClass, "getLocale", "setLocale"); //NOI18N
118: // _locale.setShortDescription("");
119: _locale
120: .setPropertyEditorClass(SelectOneDomainEditor.class);
121: _locale.setValue(DomainPropertyEditor.DOMAIN_CLASS,
122: LocalesDomain.class);
123:
124: PropertyDescriptor _pattern = new PropertyDescriptor(
125: "pattern", beanClass, "getPattern",
126: "setPattern"); //NOI18N
127: // _pattern.setShortDescription("");
128: _pattern
129: .setPropertyEditorClass(DateTimePatternPropertyEditor.class);
130:
131: PropertyDescriptor _timeStyle = new PropertyDescriptor(
132: "timeStyle", beanClass, "getTimeStyle",
133: "setTimeStyle"); //NOI18N
134: // _timeStyle.setShortDescription("");
135: _timeStyle
136: .setPropertyEditorClass(SelectOneDomainEditor.class);
137: _timeStyle.setValue(DomainPropertyEditor.DOMAIN_CLASS,
138: DateTimeStylesDomain.class);
139:
140: PropertyDescriptor _timeZone = new PropertyDescriptor(
141: "timeZone", beanClass, "getTimeZone",
142: "setTimeZone"); //NOI18N
143: // _timeZone.setShortDescription("");
144: _timeZone
145: .setPropertyEditorClass(SelectOneDomainEditor.class);
146: _timeZone.setValue(DomainPropertyEditor.DOMAIN_CLASS,
147: TimeZonesDomain.class);
148:
149: PropertyDescriptor _type = new PropertyDescriptor(
150: "type", beanClass, "getType", "setType"); //NOI18N
151: // _type.setShortDescription("");
152: _type
153: .setPropertyEditorClass(SelectOneDomainEditor.class);
154: _type.setValue(DomainPropertyEditor.DOMAIN_CLASS,
155: DateTimeTypesDomain.class);
156:
157: propDescriptors = new PropertyDescriptor[] {
158: _dateStyle, _locale, _pattern, _timeStyle,
159: _timeZone, _type, };
160: } catch (IntrospectionException ix) {
161: ix.printStackTrace();
162: }
163: }
164:
165: return propDescriptors;
166: }
167: }
|