diff options
author | itrimble | 2006-10-30 19:06:33 +0000 |
---|---|---|
committer | itrimble | 2006-10-30 19:06:33 +0000 |
commit | d5ad6fbad4ead67c331428e157c6fca504084396 (patch) | |
tree | fe08fe9dca60ffc67053f672547367a33f1cd9ae /jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/jsfhtml/JSFHTMLConverterFactory.java | |
parent | 38bf0b94a9097fc95b4b875bc8f1c9c881bd53e8 (diff) | |
download | webtools.jsf-d5ad6fbad4ead67c331428e157c6fca504084396.tar.gz webtools.jsf-d5ad6fbad4ead67c331428e157c6fca504084396.tar.xz webtools.jsf-d5ad6fbad4ead67c331428e157c6fca504084396.zip |
Initial contribution.
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/jsfhtml/JSFHTMLConverterFactory.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/jsfhtml/JSFHTMLConverterFactory.java | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/jsfhtml/JSFHTMLConverterFactory.java b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/jsfhtml/JSFHTMLConverterFactory.java new file mode 100644 index 000000000..4e14cc2ec --- /dev/null +++ b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/jsfhtml/JSFHTMLConverterFactory.java @@ -0,0 +1,166 @@ +/******************************************************************************* + * Copyright (c) 2006 Sybase, Inc. and others. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http:// www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Sybase, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.jst.pagedesigner.jsf.ui.converter.jsfhtml; + +import org.eclipse.jst.pagedesigner.IJMTConstants; +import org.eclipse.jst.pagedesigner.IJSFConstants; +import org.eclipse.jst.pagedesigner.converter.HiddenTagConverter; +import org.eclipse.jst.pagedesigner.converter.IConverterFactory; +import org.eclipse.jst.pagedesigner.converter.ITagConverter; +import org.eclipse.jst.pagedesigner.jsf.ui.JSFUIPlugin; +import org.eclipse.swt.graphics.Image; +import org.w3c.dom.Element; + + +/** + * @author mengbo + * @version 1.5 + */ +public class JSFHTMLConverterFactory implements IConverterFactory +{ + + /** + * + */ + public JSFHTMLConverterFactory() + { + super(); + } + + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#createConverter(org.w3c.dom.Element) + */ + public ITagConverter createConverter(Element element, int mode) + { + String tagName = element.getLocalName(); + ITagConverter converter; + if (IJSFConstants.TAG_COLUMN.equalsIgnoreCase(tagName)) + { + converter = new ColumnTagConverter(element); + } + else if (IJSFConstants.TAG_COMMANDBUTTON.equalsIgnoreCase(tagName)) + { + converter = new CommandButtonTagConverter(element); + } + else if (IJSFConstants.TAG_COMMANDLINK.equalsIgnoreCase(tagName)) + { + converter = new CommandLinkTagConverter(element); + } + else if (IJSFConstants.TAG_DATATABLE.equalsIgnoreCase(tagName)) + { + converter = new DataTableTagConverter(element); + } + else if (IJSFConstants.TAG_FORM.equalsIgnoreCase(tagName)) + { + converter = new JSFFormTagConverter(element); + } + else if (IJSFConstants.TAG_GRAPHICIMAGE.equalsIgnoreCase(tagName)) + { + converter = new GraphicImageTagConveter(element); + } + else if (IJSFConstants.TAG_INPUTHIDDEN.equalsIgnoreCase(tagName)) + { + return new HiddenTagConverter(element, getJSFHTMLImage(tagName)); + } + else if (IJSFConstants.TAG_INPUTSECRET.equalsIgnoreCase(tagName)) + { + converter = new InputTagConverter(element, "password"); + } + else if (IJSFConstants.TAG_INPUTTEXT.equalsIgnoreCase(tagName)) + { + converter = new InputTagConverter(element, "text"); + } + else if (IJSFConstants.TAG_INPUTTEXTAREA.equalsIgnoreCase(tagName)) + { + converter = new InputTextAreaTagConverter(element); + } + else if (IJSFConstants.TAG_MESSAGE.equalsIgnoreCase(tagName) + || IJSFConstants.TAG_MESSAGES.equalsIgnoreCase(tagName)) + { + converter = new HiddenTagConverter(element, getJSFHTMLImage(tagName)); + } + else if (IJSFConstants.TAG_OUTPUTTEXT.equalsIgnoreCase(tagName) + || IJSFConstants.TAG_OUTPUTFORMAT.equalsIgnoreCase(tagName)) + { + converter = new OutputTextTagConverter(element); + } + else if (IJSFConstants.TAG_OUTPUTLABEL.equalsIgnoreCase(tagName)) + { + converter = new OutputLabelTagConverter(element); + } + else if (IJSFConstants.TAG_OUTPUTLINK.equalsIgnoreCase(tagName)) + { + converter = new OutputLinkTagConverter(element); + } + else if (IJSFConstants.TAG_PANELGRID.equalsIgnoreCase(tagName)) + { + converter = new PanelGridTagConverter(element); + } + else if (IJSFConstants.TAG_PANELGROUP.equalsIgnoreCase(tagName)) + { + converter = new PanelGroupTagConverter(element); + } + else if (IJSFConstants.TAG_SELECTBOOLEANCHECKBOX.equalsIgnoreCase(tagName)) + { + converter = new SelectBooleanCheckboxTagConverter(element); + } + else if (IJSFConstants.TAG_SELECTMANYCHECKBOX.equalsIgnoreCase(tagName)) + { + converter = new TableBasedSelectTagConverter(element, "checkbox"); + } + else if (IJSFConstants.TAG_SELECTMANYLISTBOX.equalsIgnoreCase(tagName)) + { + converter = new SelectManyListboxTagConverter(element); + } + else if (IJSFConstants.TAG_SELECTMANYMENU.equalsIgnoreCase(tagName)) + { + converter = new SelectManyMenuTagConverter(element); + } + else if (IJSFConstants.TAG_SELECTONELISTBOX.equalsIgnoreCase(tagName)) + { + converter = new SelectOneListboxTagConverter(element); + } + else if (IJSFConstants.TAG_SELECTONEMENU.equalsIgnoreCase(tagName)) + { + converter = new SelectOneMenuTagConverter(element); + } + else if (IJSFConstants.TAG_SELECTONERADIO.equalsIgnoreCase(tagName)) + { + converter = new TableBasedSelectTagConverter(element, "radio"); + } + else + { + return null; + } + converter.setMode(mode); + return converter; + } + + /** + * @param tagName + * @return + */ + private Image getJSFHTMLImage(String tagName) + { + Image image = JSFUIPlugin.getDefault().getImage("palette/JSFHTML/small/JSF_" + tagName.toUpperCase() + ".gif"); + return image; + } + + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.converter.IConverterFactory#getSupportedURI() + */ + public String getSupportedURI() + { + return IJMTConstants.URI_JSF_HTML; + } + +} |