/*******************************************************************************
* Copyright (c) Gavingui2011@gmail.com Beijing China
* 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:
* Gavin Lei - initial API and implementation
*
*******************************************************************************/
package org.eclipse.wst.xml.core.internal.contentmodel.tapestry;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import org.eclipse.jface.text.templates.Template;
import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
import org.w3c.dom.Node;
/**
* Factory for element declarations of the Tapestry 5.
*/
public class TapestryElementCollection extends DeclCollection implements Tapestry5Namespace.ElementName, Tapestry5Namespace.ElementLabel {
public static final String componentsContextTypeId = "tml_components";
public static final String attributesContextTypeId = "tml_attributes";
public static final String attributesValueContextTypeId = "tml_attributes_value";
public static final String entitiesContextTypeId = "tml_entities";
class TypePacket {
public String name = null;
public String label = null;
public int content = CMElementDeclaration.EMPTY;
public int omit = HTMLElementDeclaration.OMIT_NONE;
public int lineBreak = HTMLElementDeclaration.BREAK_NONE;
public int layout = HTMLElementDeclaration.LAYOUT_NONE;
public int correct = HTMLElementDeclaration.CORRECT_NONE;
public int format = HTMLElementDeclaration.FORMAT_XML;
public boolean indentChild = false;
public TypePacket() {
}
}
/** Tapestry element declaration. */
public class ElemDecl extends CMContentImpl implements HTMLElementDeclaration, HTMLPropertyDeclaration, Cloneable {
private TypePacket type = null;
private CMGroupImpl content = null;
private CMNamedNodeMapImpl attributes = null;
public ElemDecl(TypePacket t) {
super(t.name, 1, 1);
type = t;
}
public void setContent(CMGroupImpl group) {
content = group;
}
public void setAttributes(CMNamedNodeMapImpl attrs) {
attributes = attrs;
}
// implements CMNode
public int getNodeType() {
return CMNode.ELEMENT_DECLARATION;
}
public boolean supports(String propertyName) {
if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
return true;
}
else if (propertyName.equals(HTMLCMProperties.CONTENT_HINT)) {
return true;
}
else {
//PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
//if (pp == null)
return false;
//return pp.supports(this);
}
}
public Object getProperty(String propertyName) {
if (propertyName.equals(HTMLCMProperties.SHOULD_IGNORE_CASE)) {
return Boolean.FALSE; //D208839
}
else {
//PropertyProvider pp = PropertyProviderFactory.getProvider(propertyName);
//if (pp == null)
return null;
//return pp.get(this);
}
}
// implementes CMElementDeclaration
public CMNamedNodeMap getAttributes() {
return attributes;
}
public CMContent getContent() {
return content;
}
public int getContentType() {
return type.content;
}
public CMDataType getDataType() {
return null;
}
public String getElementName() {
return getNodeName();
}
public String getElementLabel(){
return type.label;
}
public CMNamedNodeMap getLocalElements() {
return null;
}
// implementes HTMLElementDeclaration
public HTMLAttributeDeclaration getAttributeDeclaration(String attrName) {
if (attributes == null)
return null;
return (HTMLAttributeDeclaration) attributes.getNamedItem(attrName);
}
public int getCorrectionType() {
return type.correct;
}
public CMContent getExclusion() {
return null;
}
public CMContent getInclusion() {
return null;
}
public CMNamedNodeMap getProhibitedAncestors() {
return EMPTY_MAP;
}
public int getFormatType() {
return type.format;
}
public int getLayoutType() {
return type.layout;
}
public int getLineBreakHint() {
return type.lineBreak;
}
public int getOmitType() {
return type.omit;
}
public boolean shouldTerminateAt(HTMLElementDeclaration dec) {
return false;
}
public boolean shouldKeepSpaces() {
return false;
}
public boolean shouldIndentChildSource() {
return type.indentChild;
}
public boolean isJSP() {
return true;
}
public Object clone(){
ElemDecl o = null;
try{
o = (ElemDecl)super.clone();
o.setAttributes(null);
}catch(CloneNotSupportedException e){
e.printStackTrace();
}
return o;
}
}
// element IDs
static class Ids {
public static final int ID_ACTIONLINK = 0;
public static final int ID_ADDROWLINK = 1;
public static final int ID_ANY = 2;
public static final int ID_BEANDISPLAY = 3;
public static final int ID_BeanEditForm = 4;
public static final int ID_BeanEditor = 5;
public static final int ID_Checkbox = 6;
public static final int ID_DateField = 7;
public static final int ID_Delegate = 8;
public static final int ID_Error = 9;
public static final int ID_Errors = 10;
public static final int ID_EventLink = 11;
public static final int ID_ExceptionDisplay = 12;
public static final int ID_Form = 13;
public static final int ID_FormFragment = 14;
public static final int ID_FormInjector = 15;
public static final int ID_Grid = 16;
public static final int ID_GridCell = 17;
public static final int ID_GridColumns = 18;
public static final int ID_GridPager = 19;
public static final int ID_GridRows = 20;
public static final int ID_Hidden = 21;
public static final int ID_If = 22;
public static final int ID_Label = 23;
public static final int ID_LinkSubmit = 24;
public static final int ID_Loop = 25;
public static final int ID_Output = 26;
public static final int ID_OutputRaw = 27;
public static final int ID_PageLink = 28;
public static final int ID_Palette = 29;
public static final int ID_PasswordField = 30;
public static final int ID_ProgressiveDisplay = 31;
public static final int ID_PropertyDisplay = 32;
public static final int ID_PropertyEditor = 33;
public static final int ID_Radio = 34;
public static final int ID_RadioGroup = 35;
public static final int ID_Select = 36;
public static final int ID_Submit = 37;
public static final int ID_TextArea = 38;
public static final int ID_TextField = 39;
public static final int ID_TextOutput = 40;
public static final int ID_Trigger = 41;
public static final int ID_Unless = 42;
public static final int ID_Zone = 43;
public static int getNumOfIds() {
if (numofids != -1)
return numofids;
// NOTE: If the reflection is too slow, this method should
// just return the literal value, like 105.
// -- 5/25/2001
Class clazz = Ids.class;
Field[] fields = clazz.getFields();
numofids = 0;
for (int i = 0; i < fields.length; i++) {
String name = fields[i].getName();
if (name.startsWith("ID_"))//$NON-NLS-1$
numofids++;
}
return numofids;
}
// chache the result of the reflection.
private static int numofids = -1;
}
// attribute creater
class JACreater implements Tapestry5Namespace {
// attribute declaration
class AttrDecl extends CMNodeImpl implements HTMLAttributeDeclaration {
HTMLCMDataTypeImpl type = null;
int usage = CMAttributeDeclaration.OPTIONAL;
// methods
public AttrDecl(String attrName) {
super(attrName);
}
public String getAttrName() {
return getNodeName();
}
public CMDataType getAttrType() {
return type;
}
/** @deprecated by superclass */
public String getDefaultValue() {
if (type.getImpliedValueKind() != CMDataType.IMPLIED_VALUE_DEFAULT)
return null;
return type.getImpliedValue();
}
/** @deprecated by superclass */
public Enumeration getEnumAttr() {
Vector v = new Vector(Arrays.asList(type.getEnumeratedValues()));
return v.elements();
}
public int getNodeType() {
return CMNode.ATTRIBUTE_DECLARATION;
}
public int getUsage() {
return usage;
}
public boolean shouldIgnoreCase() {
return false;
}
}
CMNamedNodeMapImpl declarations = null;
public JACreater() {
declarations = new CMNamedNodeMapImpl();
}
public CMNamedNodeMapImpl getDeclarations(int eid) {
switch (eid) {
//case Ids.ID_DIRECTIVE_PAGE :
// createForDirPage();
// break;
case Ids.ID_ACTIONLINK :
createForActionLink();
break;
case Ids.ID_ADDROWLINK :
createForAddRowLink();
break;
case Ids.ID_ANY :
createForAny();
break;
case Ids.ID_BEANDISPLAY :
createForBeanDisplay();
break;
case Ids.ID_BeanEditForm :
createForBeanEditForm();
break;
case Ids.ID_BeanEditor :
createForBeanEditor();
break;
case Ids.ID_Checkbox :
createForCheckbox();
break;
case Ids.ID_DateField :
createForDateField();
break;
case Ids.ID_Delegate :
createForDelegate();
break;
case Ids.ID_Error :
createForError();
break;
case Ids.ID_Errors:
createForErrors();
break;
case Ids.ID_EventLink:
createForEventLink();
break;
case Ids.ID_ExceptionDisplay:
createForExceptionDisplay();
break;
case Ids.ID_Form:
createForForm();
break;
case Ids.ID_FormFragment:
createForFormFragment();
break;
case Ids.ID_FormInjector:
createForFormInjector();
break;
case Ids.ID_Grid:
createForGrid();
break;
case Ids.ID_GridCell:
createForGridCell();
break;
case Ids.ID_GridColumns:
createForGridColumns();
break;
case Ids.ID_GridPager:
createForGridPager();
break;
case Ids.ID_GridRows:
createForGridRows();
break;
case Ids.ID_Hidden:
createForHidden();
break;
case Ids.ID_If:
createForIf();
break;
case Ids.ID_Label:
createForLabel();
break;
case Ids.ID_LinkSubmit:
createForLinkSubmit();
break;
case Ids.ID_Loop:
createForLoop();
break;
case Ids.ID_Output:
createForOutput();
break;
case Ids.ID_OutputRaw:
createForOutputRaw();
break;
case Ids.ID_PageLink:
createForPageLink();
break;
case Ids.ID_Palette:
createForPalette();
break;
case Ids.ID_PasswordField:
createForPasswordField();
break;
case Ids.ID_ProgressiveDisplay:
createForProgressiveDisplay();
break;
case Ids.ID_PropertyDisplay:
createForPropertyDisplay();
break;
case Ids.ID_PropertyEditor:
createForPropertyEditor();
break;
case Ids.ID_Radio:
createForRadio();
break;
case Ids.ID_RadioGroup:
createForRadioGroup();
break;
case Ids.ID_Select:
createForSelect();
break;
case Ids.ID_Submit:
createForSubmit();
break;
case Ids.ID_TextArea:
createForTextArea();
break;
case Ids.ID_TextField:
createForTextField();
break;
case Ids.ID_TextOutput:
createForTextOutput();
break;
case Ids.ID_Trigger:
createForTrigger();
break;
case Ids.ID_Unless:
createForUnless();
break;
case Ids.ID_Zone:
createForZone();
break;
default :
// should warn.
break;
}
return declarations;
}
private void createForActionLink() {
// ("file" URI REQUIRED); Defect TORO:185241
AttrDecl adec = new AttrDecl(ATTR_NAME_ANCHOR);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_ANCHOR, adec);
adec = new AttrDecl(ATTR_NAME_CONTEXT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_CONTEXT, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
//adec.type.setImpliedValue(CMDataType.IMPLIED_VALUE_DEFAULT, ATTR_VALUE_TRUE);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_ZONE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_ZONE, adec);
}
private void createForAddRowLink() {
}
private void createForAny() {
AttrDecl adec = new AttrDecl(ATTR_NAME_CLIENTID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
declarations.putNamedItem(ATTR_NAME_CLIENTID, adec);
adec = new AttrDecl(ATTR_NAME_ELEMENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
declarations.putNamedItem(ATTR_NAME_ELEMENT, adec);
}
private void createForBeanDisplay() {
AttrDecl adec = new AttrDecl(ATTR_NAME_ADD);
adec.type = new HTMLCMDataTypeImpl(CMDataType.IDREF);
declarations.putNamedItem(ATTR_NAME_ADD, adec);
adec = new AttrDecl(ATTR_NAME_EXCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EXCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_INCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_INCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_LEAN);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_LEAN, adec);
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_OBJECT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_OBJECT, adec);
adec = new AttrDecl(ATTR_NAME_OVERRIDES);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OVERRIDES, adec);
adec = new AttrDecl(ATTR_NAME_REORDER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_REORDER, adec);
}
private void createForBeanEditForm() {
AttrDecl adec = new AttrDecl(ATTR_NAME_ADD);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ADD, adec);
adec = new AttrDecl(ATTR_NAME_AUTOFOCUS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_AUTOFOCUS, adec);
adec = new AttrDecl(ATTR_NAME_CANCEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_CANCEL, adec);
adec = new AttrDecl(ATTR_NAME_CLIENTVALIDATION);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTVALIDATION, adec);
adec = new AttrDecl(ATTR_NAME_EXCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EXCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_INCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_INCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_OBJECT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_OBJECT, adec);
adec = new AttrDecl(ATTR_NAME_REORDER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_REORDER, adec);
adec = new AttrDecl(ATTR_NAME_SUBMITLABEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
declarations.putNamedItem(ATTR_NAME_SUBMITLABEL, adec);
adec = new AttrDecl(ATTR_NAME_ZONE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
declarations.putNamedItem(ATTR_NAME_ZONE, adec);
}
private void createForBeanEditor() {
AttrDecl adec = new AttrDecl(ATTR_NAME_ADD);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ADD, adec);
adec = new AttrDecl(ATTR_NAME_EXCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EXCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_INCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_INCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_OBJECT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_OBJECT, adec);
adec = new AttrDecl(ATTR_NAME_OVERRIDES);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OVERRIDES, adec);
adec = new AttrDecl(ATTR_NAME_REORDER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_REORDER, adec);
}
private void createForCheckbox() {
AttrDecl adec = new AttrDecl(ATTR_NAME_CLIENTID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTID, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_LABEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_LABEL, adec);
adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForDateField() {
AttrDecl adec = new AttrDecl(ATTR_NAME_CLIENTID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTID, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_FORMAT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_FORMAT, adec);
adec = new AttrDecl(ATTR_NAME_HIDETEXTFIELD);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_HIDETEXTFIELD, adec);
adec = new AttrDecl(ATTR_NAME_ICON);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ICON, adec);
adec = new AttrDecl(ATTR_NAME_LABEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_LABEL, adec);
adec = new AttrDecl(ATTR_NAME_MESSAGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MESSAGE, adec);
adec = new AttrDecl(ATTR_NAME_VALIDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALIDATE, adec);
adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForDelegate() {
AttrDecl adec = new AttrDecl(ATTR_NAME_TO);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_TO, adec);
}
private void createForError() {
AttrDecl adec = new AttrDecl(ATTR_NAME_CLASS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLASS, adec);
adec = new AttrDecl(ATTR_NAME_FOR);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_FOR, adec);
}
private void createForErrors(){
AttrDecl adec = new AttrDecl(ATTR_NAME_BANNER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_BANNER, adec);
adec = new AttrDecl(ATTR_NAME_CLASS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLASS, adec);
}
private void createForEventLink(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ANCHOR);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
declarations.putNamedItem(ATTR_NAME_ANCHOR, adec);
adec = new AttrDecl(ATTR_NAME_CONTEXT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_CONTEXT, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_EVENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
declarations.putNamedItem(ATTR_NAME_EVENT, adec);
adec = new AttrDecl(ATTR_NAME_ZONE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.URI);
declarations.putNamedItem(ATTR_NAME_ZONE, adec);
}
private void createForExceptionDisplay(){
AttrDecl adec = new AttrDecl(ATTR_NAME_EXCEPTION);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
adec.usage = CMAttributeDeclaration.REQUIRED;
declarations.putNamedItem(ATTR_NAME_EXCEPTION, adec);
}
private void createForForm(){
AttrDecl adec = new AttrDecl(ATTR_NAME_AUTOFOCUS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_AUTOFOCUS, adec);
adec = new AttrDecl(ATTR_NAME_CLIENTVALIDATION);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTVALIDATION, adec);
adec = new AttrDecl(ATTR_NAME_CONTEXT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_CONTEXT, adec);
adec = new AttrDecl(ATTR_NAME_SECURE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_SECURE, adec);
adec = new AttrDecl(ATTR_NAME_TRACKER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_TRACKER, adec);
adec = new AttrDecl(ATTR_NAME_VALIDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_VALIDATE, adec);
adec = new AttrDecl(ATTR_NAME_VALIDATIONID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_VALIDATIONID, adec);
adec = new AttrDecl(ATTR_NAME_ZONE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_ZONE, adec);
}
private void createForFormFragment(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ALWAYSSUBMIT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_ALWAYSSUBMIT, adec);
adec = new AttrDecl(ATTR_NAME_ELEMENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ELEMENT, adec);
adec = new AttrDecl(ATTR_NAME_HIDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_HIDE, adec);
adec = new AttrDecl(ATTR_NAME_ID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ID, adec);
adec = new AttrDecl(ATTR_NAME_SHOW);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_SHOW, adec);
adec = new AttrDecl(ATTR_NAME_VISIBLE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_VISIBLE, adec);
}
private void createForFormInjector(){
AttrDecl adec = new AttrDecl(ATTR_NAME_CONTEXT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CONTEXT, adec);
adec = new AttrDecl(ATTR_NAME_ELEMENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_ELEMENT, adec);
adec = new AttrDecl(ATTR_NAME_POSITION);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_POSITION, adec);
adec = new AttrDecl(ATTR_NAME_SHOW);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENTITIES);
declarations.putNamedItem(ATTR_NAME_SHOW, adec);
}
private void createForGrid(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ADD);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ADD, adec);
adec = new AttrDecl(ATTR_NAME_CLASS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLASS, adec);
adec = new AttrDecl(ATTR_NAME_COLUMNINDEX);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_COLUMNINDEX, adec);
adec = new AttrDecl(ATTR_NAME_EMPTY);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EMPTY, adec);
adec = new AttrDecl(ATTR_NAME_ENCODER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ENCODER, adec);
adec = new AttrDecl(ATTR_NAME_EXCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EXCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_INPLACE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_INPLACE, adec);
adec = new AttrDecl(ATTR_NAME_INCLUDE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_INCLUDE, adec);
adec = new AttrDecl(ATTR_NAME_LEAN);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_LEAN, adec);
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_OVERRIDES);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OVERRIDES, adec);
adec = new AttrDecl(ATTR_NAME_PAGERPOSITION);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_PAGERPOSITION, adec);
adec = new AttrDecl(ATTR_NAME_REORDER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_REORDER, adec);
adec = new AttrDecl(ATTR_NAME_ROW);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROW, adec);
adec = new AttrDecl(ATTR_NAME_ROWCLASS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROWCLASS, adec);
adec = new AttrDecl(ATTR_NAME_ROWINDEX);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROWINDEX, adec);
adec = new AttrDecl(ATTR_NAME_ROWSPERPAGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROWSPERPAGE, adec);
adec = new AttrDecl(ATTR_NAME_SORTMODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SORTMODEL, adec);
adec = new AttrDecl(ATTR_NAME_SOURCE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SOURCE, adec);
adec = new AttrDecl(ATTR_NAME_VOLATILE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VOLATILE, adec);
}
private void createForGridCell(){
AttrDecl adec = new AttrDecl(ATTR_NAME_BEANBLOCKSOURCE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_BEANBLOCKSOURCE, adec);
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_OBJECT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OBJECT, adec);
adec = new AttrDecl(ATTR_NAME_OVERRIDES);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OVERRIDES, adec);
}
private void createForGridColumns(){
AttrDecl adec = new AttrDecl(ATTR_NAME_GRIDMODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_GRIDMODEL, adec);
adec = new AttrDecl(ATTR_NAME_INDEX);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_INDEX, adec);
adec = new AttrDecl(ATTR_NAME_LEAN);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_LEAN, adec);
adec = new AttrDecl(ATTR_NAME_OVERRIDES);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OVERRIDES, adec);
adec = new AttrDecl(ATTR_NAME_ZONE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ZONE, adec);
}
private void createForGridPager(){
AttrDecl adec = new AttrDecl(ATTR_NAME_CURRENTPAGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CURRENTPAGE, adec);
adec = new AttrDecl(ATTR_NAME_RANGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_RANGE, adec);
adec = new AttrDecl(ATTR_NAME_ROWSPERPAGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROWSPERPAGE, adec);
adec = new AttrDecl(ATTR_NAME_SOURCE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SOURCE, adec);
adec = new AttrDecl(ATTR_NAME_ZONE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ZONE, adec);
}
private void createForGridRows(){
AttrDecl adec = new AttrDecl(ATTR_NAME_COLUMNINDEX);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_COLUMNINDEX, adec);
adec = new AttrDecl(ATTR_NAME_CURRENTPAGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CURRENTPAGE, adec);
adec = new AttrDecl(ATTR_NAME_ENCODER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ENCODER, adec);
adec = new AttrDecl(ATTR_NAME_GRIDMODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_GRIDMODEL, adec);
adec = new AttrDecl(ATTR_NAME_LEAN);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_LEAN, adec);
adec = new AttrDecl(ATTR_NAME_OVERRIDES);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OVERRIDES, adec);
adec = new AttrDecl(ATTR_NAME_ROW);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROW, adec);
adec = new AttrDecl(ATTR_NAME_ROWCLASS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROWCLASS, adec);
adec = new AttrDecl(ATTR_NAME_ROWINDEX);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROWINDEX, adec);
adec = new AttrDecl(ATTR_NAME_ROWSPERPAGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ROWSPERPAGE, adec);
adec = new AttrDecl(ATTR_NAME_VOLATILE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_VOLATILE, adec);
}
private void createForHidden(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ENCODER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ENCODER, adec);
adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForIf(){
AttrDecl adec = new AttrDecl(ATTR_NAME_NEGATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_NEGATE, adec);
adec = new AttrDecl(ATTR_NAME_TEST);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_TEST, adec);
}
private void createForLabel(){
AttrDecl adec = new AttrDecl(ATTR_NAME_FOR);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_FOR, adec);
adec = new AttrDecl(ATTR_NAME_IGNOREBODY);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_IGNOREBODY, adec);
}
private void createForLinkSubmit(){
AttrDecl adec = new AttrDecl(ATTR_NAME_CONTEXT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CONTEXT, adec);
adec = new AttrDecl(ATTR_NAME_DEFER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DEFER, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_EVENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EVENT, adec);
adec = new AttrDecl(ATTR_NAME_MODE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODE, adec);
}
private void createForLoop(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ELEMENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ELEMENT, adec);
adec = new AttrDecl(ATTR_NAME_EMPTY);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EMPTY, adec);
adec = new AttrDecl(ATTR_NAME_ENCODER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ENCODER, adec);
adec = new AttrDecl(ATTR_NAME_FORMSTATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_FORMSTATE, adec);
adec = new AttrDecl(ATTR_NAME_INDEX);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_INDEX, adec);
adec = new AttrDecl(ATTR_NAME_SOURCE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SOURCE, adec);
adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
adec = new AttrDecl(ATTR_NAME_VOLATILE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_VOLATILE, adec);
}
private void createForOutput(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ELEMENTNAME);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ELEMENTNAME, adec);
adec = new AttrDecl(ATTR_NAME_FILTER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_FILTER, adec);
adec = new AttrDecl(ATTR_NAME_FORMAT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_FORMAT, adec);
adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForOutputRaw(){
AttrDecl adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForPageLink(){
createForActionLink();
}
private void createForPalette(){
AttrDecl adec = new AttrDecl(ATTR_NAME_CLIENTID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTID, adec);
adec = new AttrDecl(ATTR_NAME_DESELECT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_DESELECT, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_ENCODER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ENCODER, adec);
adec = new AttrDecl(ATTR_NAME_LABEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_LABEL, adec);
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_MOVEDOWN);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MOVEDOWN, adec);
adec = new AttrDecl(ATTR_NAME_MOVEUP);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MOVEUP, adec);
adec = new AttrDecl(ATTR_NAME_REORDER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_REORDER, adec);
adec = new AttrDecl(ATTR_NAME_SELECT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SELECT, adec);
adec = new AttrDecl(ATTR_NAME_SELECTED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SELECTED, adec);
adec = new AttrDecl(ATTR_NAME_SIZE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SIZE, adec);
adec = new AttrDecl(ATTR_NAME_VALIDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALIDATE, adec);
}
private void createForPasswordField(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ANNOTATIONPROVIDER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ANNOTATIONPROVIDER, adec);
adec = new AttrDecl(ATTR_NAME_CLIENTID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTID, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_LABEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_LABEL, adec);
adec = new AttrDecl(ATTR_NAME_NULLS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_NULLS, adec);
adec = new AttrDecl(ATTR_NAME_TRANSLATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_TRANSLATE, adec);
adec = new AttrDecl(ATTR_NAME_VALIDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALIDATE, adec);
adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForProgressiveDisplay(){
AttrDecl adec = new AttrDecl(ATTR_NAME_CONTEXT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CONTEXT, adec);
adec = new AttrDecl(ATTR_NAME_UPDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_UPDATE, adec);
}
private void createForPropertyDisplay(){
AttrDecl adec = new AttrDecl(ATTR_NAME_BEANBLOCKSOURCE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_BEANBLOCKSOURCE, adec);
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_OBJECT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OBJECT, adec);
adec = new AttrDecl(ATTR_NAME_OVERRIDES);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_OVERRIDES, adec);
}
private void createForPropertyEditor(){
createForPropertyDisplay();
AttrDecl adec = new AttrDecl(ATTR_NAME_PROPERTY);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_PROPERTY, adec);
}
private void createForRadio(){
AttrDecl adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_LABEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_LABEL, adec);
adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForRadioGroup(){
AttrDecl adec = new AttrDecl(ATTR_NAME_CLIENTID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTID, adec);
createForRadio();
adec = new AttrDecl(ATTR_NAME_ENCODER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ENCODER, adec);
adec = new AttrDecl(ATTR_NAME_VALIDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALIDATE, adec);
}
private void createForSelect(){
AttrDecl adec = new AttrDecl(ATTR_NAME_BLANKLABEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_BLANKLABEL, adec);
adec = new AttrDecl(ATTR_NAME_BLANKOPTION);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_BLANKOPTION, adec);
createForRadioGroup();
adec = new AttrDecl(ATTR_NAME_MODEL);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODEL, adec);
adec = new AttrDecl(ATTR_NAME_ZONE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ZONE, adec);
}
private void createForSubmit(){
AttrDecl adec = new AttrDecl(ATTR_NAME_CONTEXT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CONTEXT, adec);
adec = new AttrDecl(ATTR_NAME_DEFER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DEFER, adec);
adec = new AttrDecl(ATTR_NAME_DISABLED);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_DISABLED, adec);
adec = new AttrDecl(ATTR_NAME_EVENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EVENT, adec);
adec = new AttrDecl(ATTR_NAME_IMAGE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_IMAGE, adec);
adec = new AttrDecl(ATTR_NAME_MODE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_MODE, adec);
}
private void createForTextArea(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ANNOTATIONPROVIDER);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ANNOTATIONPROVIDER, adec);
adec = new AttrDecl(ATTR_NAME_CLIENTID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_CLIENTID, adec);
createForRadio();
adec = new AttrDecl(ATTR_NAME_NULLS);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_NULLS, adec);
adec = new AttrDecl(ATTR_NAME_TRANSLATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_TRANSLATE, adec);
adec = new AttrDecl(ATTR_NAME_VALIDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALIDATE, adec);
}
private void createForTextField(){
createForTextArea();
}
private void createForTextOutput(){
AttrDecl adec = new AttrDecl(ATTR_NAME_VALUE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_VALUE, adec);
}
private void createForTrigger(){
AttrDecl adec = new AttrDecl(ATTR_NAME_EVENT);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_EVENT, adec);
}
private void createForUnless(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ELSE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ELSE, adec);
adec = new AttrDecl(ATTR_NAME_TEST);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_TEST, adec);
}
private void createForZone(){
AttrDecl adec = new AttrDecl(ATTR_NAME_ELEMENTNAME);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ELEMENTNAME, adec);
adec = new AttrDecl(ATTR_NAME_ID);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_ID, adec);
adec = new AttrDecl(ATTR_NAME_SHOW);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_SHOW, adec);
adec = new AttrDecl(ATTR_NAME_UPDATE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.CDATA);
declarations.putNamedItem(ATTR_NAME_UPDATE, adec);
adec = new AttrDecl(ATTR_NAME_VISIBLE);
adec.type = new HTMLCMDataTypeImpl(CMDataType.ENUM);
String[] values = {ATTR_VALUE_TRUE, ATTR_VALUE_FALSE};
adec.type.setEnumValues(values);
declarations.putNamedItem(ATTR_NAME_VISIBLE, adec);
}
}
private final static CMNamedNodeMap EMPTY_MAP = new CMNamedNodeMap() {
public int getLength() {
return 0;
}
public CMNode getNamedItem(String name) {
return null;
}
public CMNode item(int index) {
return null;
}
public Iterator iterator() {
return new Iterator() {
public boolean hasNext() {
return false;
}
public Object next() {
return null;
}
public void remove() {
}
};
}
};
private static String[] names = null;
static {
names = new String[Ids.getNumOfIds()];
names[Ids.ID_ACTIONLINK] = ACTIONLINK;
names[Ids.ID_ADDROWLINK] = ADDROWLINK;
names[Ids.ID_ANY] = ANY;
names[Ids.ID_BEANDISPLAY] = BEANDISPLAY;
names[Ids.ID_BeanEditForm] = BeanEditForm;
names[Ids.ID_BeanEditor] = BeanEditor;
names[Ids.ID_Checkbox] = Checkbox;
names[Ids.ID_DateField] = DateField;
names[Ids.ID_Delegate] = Delegate;
names[Ids.ID_Error] = Error;
names[Ids.ID_Errors] = Errors;
names[Ids.ID_EventLink] = EventLink;
names[Ids.ID_ExceptionDisplay] = ExceptionDisplay;
names[Ids.ID_Form] = Form;
names[Ids.ID_FormFragment] = FormFragment;
names[Ids.ID_FormInjector] = FormInjector;
names[Ids.ID_Grid] = Grid;
names[Ids.ID_GridCell] = GridCell;
names[Ids.ID_GridColumns] = GridColumns;
names[Ids.ID_GridPager] = GridPager;
names[Ids.ID_GridRows] = GridRows;
names[Ids.ID_Hidden] = Hidden;
names[Ids.ID_If] = IfElement;
names[Ids.ID_Label] = Label;
names[Ids.ID_LinkSubmit] = LinkSubmit;
names[Ids.ID_Loop] = Loop;
names[Ids.ID_Output] = Output;
names[Ids.ID_OutputRaw] = OutputRaw;
names[Ids.ID_PageLink] = PageLink;
names[Ids.ID_Palette] = Palette;
names[Ids.ID_PasswordField] = PasswordField;
names[Ids.ID_ProgressiveDisplay] = ProgressiveDisplay;
names[Ids.ID_PropertyDisplay] = PropertyDisplay;
names[Ids.ID_PropertyEditor] = PropertyEditor;
names[Ids.ID_Radio] = Radio;
names[Ids.ID_RadioGroup] = RadioGroup;
names[Ids.ID_Select] = Select;
names[Ids.ID_Submit] = Submit;
names[Ids.ID_TextArea] = TextArea;
names[Ids.ID_TextField] = TextField;
names[Ids.ID_TextOutput] = TextOutput;
names[Ids.ID_Trigger] = Trigger;
names[Ids.ID_Unless] = Unless;
names[Ids.ID_Zone] = Zone;
}
TapestryElementCollection(String[] names, boolean tolerant) {
super(names, tolerant);
}
/**
*/
public TapestryElementCollection() {
super(names, TOLERANT_CASE);
}
/**
*
* @param contextTypeId
* @param type 1=>start with blank, 2=>start with "<", 3=>start with "t:"
* @return
*/
public Template[] getHardCodeTemplateList(String contextTypeId, int type){
List result = new ArrayList();
if(contextTypeId.equals(componentsContextTypeId)){
for(int i=0; i< this.getLength(); i++){
CMNode node = this.item(i);
if(node instanceof ElemDecl){
ElemDecl element = (ElemDecl) node;
Template template = new Template(element.getElementLabel(), buildDescription(element), contextTypeId, buildInsertCode(element, type), true);
result.add(template);
}
}
}
return (Template[])result.toArray(new Template[0]);
}
public Template[] getAttributeList(String contextTypeId, Node currentTapestryComponent){
String name = currentTapestryComponent.getNodeName();
//System.out.println("current tapestry component :" + name);
CMNode node = this.getNamedItem(name);
List result = new ArrayList();
if(node instanceof ElemDecl){
ElemDecl element = (ElemDecl) node;
CMNamedNodeMap attributes = element.getAttributes();
Iterator ite = attributes.iterator();
while(ite.hasNext()){
CMNode attr = (CMNode) ite.next();
Template template = new Template(attr.getNodeName(), buildAttributeDescription(attr, element), contextTypeId, buildAttributeInsertCode(attr), true);
result.add(template);
}
}
return (Template[])result.toArray(new Template[0]);
}
public List<Template> getAttributeValueList(String contextTypeId, Node currentTapestryComponent){
//String name = currentTapestryComponent.getNodeName();
//CMNode node = this.getNamedItem(name);
List result = new ArrayList();
/*if(node instanceof ElemDecl){
ElemDecl element = (ElemDecl) node;
CMNamedNodeMap attributes = element.getAttributes();
Iterator ite = attributes.iterator();
while(ite.hasNext()){
CMNode attr = (CMNode) ite.next();
Template template = new Template(attr.getNodeName(), buildAttributeDescription(attr, element), contextTypeId, buildAttributeInsertCode(attr), true);
result.add(template);
}
}*/
return result;
}
/**
* TODO: improve this method to create description for components
* @param element
* @return
*/
private String buildDescription(ElemDecl element){
return "Standard";
}
private String buildAttributeDescription(CMNode attr, ElemDecl element){
return element.getElementLabel() + " Attrubite";
}
/**
* TODO: improve this method for different components
* @param element
* @return auto-complete insert code
*/
private String buildInsertCode(ElemDecl element, int type){
String ret = "";
switch(type){
case 1:
ret = "<"+element.getElementName()+"></"+element.getElementName()+">";
break;
case 2:
ret = element.getElementName()+"></"+element.getElementName()+">";
break;
case 3:
ret = element.getElementName()+"></"+element.getElementName()+">";
if(ret.length() > 2)
ret = ret.substring(2);
break;
}
return ret;
}
private String buildAttributeInsertCode(CMNode attr){
String ret = attr.getNodeName() + "=\"\"";
return ret;
}
/**
* @return org.eclipse.wst.xml.core.internal.contentmodel.CMNode
* @param elementName java.lang.String
*/
protected CMNode create(String elementName) {
return createElemDecl(getID(elementName));
}
/**
* @param eid int
*/
CMGroupImpl createContent(int eid) {
if (eid == ID_UNKNOWN)
return null;
CMGroupImpl content = null;
switch (eid) {
//case Ids.ID_ACTIONLINK :
//content = new CMGroupImpl(CMGroup.SEQUENCE, 0, CMContentImpl.UNBOUNDED);
// child = item(Ids.ID_PARAM);
// if (child != null)
// content.appendChild(child);
//break;
/*case Ids.ID_PLUGIN :
// (jsp:params | jsp:fallback)?
content = new CMGroupImpl(CMGroup.CHOICE, 0, 1);
// jsp:params
child = item(Ids.ID_PARAMS);
if (child != null)
content.appendChild(child);
// jsp:fallback
child = item(Ids.ID_FALLBACK);
if (child != null)
content.appendChild(child);
break;
case Ids.ID_PARAMS :
// (jsp:param)+
content = new CMGroupImpl(CMGroup.SEQUENCE, 1, CMContentImpl.UNBOUNDED);
child = item(Ids.ID_PARAM);
if (child != null)
content.appendChild(child);
break;
case Ids.ID_ROOT :
// %Body;
// --> (jsp:text|%Directives;|%Scripts;|%Actions;)*
// %Directives --> jsp:directive.page|jsp:directive.include
// %Scripts; --> jsp:scriptlet|jsp:declaration|jsp:expression
// %Actions --> jsp:useBean|jsp.setProperty|jsp:getProperty
// |jsp:include|jsp:forward|jsp:plugin
content = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED);
int validChildren[] = {Ids.ID_TEXT,
// %Directves;
Ids.ID_DIRECTIVE_PAGE, Ids.ID_DIRECTIVE_INCLUDE,
// %Scripts;
Ids.ID_SCRIPTLET, Ids.ID_DECLARATION, Ids.ID_EXPRESSION,
// %Actions;
Ids.ID_USEBEAN, Ids.ID_SETPROPERTY, Ids.ID_GETPROPERTY, Ids.ID_INCLUDE, Ids.ID_FORWARD, Ids.ID_PLUGIN};
for (int i = 0; i < validChildren.length; i++) {
child = item(validChildren[i]);
if (child != null)
content.appendChild(child);
}
break;*/
}
return content;
}
/**
* @param eid int
*/
HTMLElementDeclaration createElemDecl(int eid) {
if (eid == ID_UNKNOWN)
return null;
TypePacket packet = new TypePacket();
switch (eid) {
case Ids.ID_ACTIONLINK :
packet.name = ACTIONLINK;
packet.label = ACTIONLINK_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
packet.format = HTMLElementDeclaration.FORMAT_TAPESTRY_ACTIONLINK;
break;
case Ids.ID_ADDROWLINK :
packet.name = ADDROWLINK;
packet.label = ADDROWLINK_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT;
break;
case Ids.ID_ANY :
packet.name = ANY;
packet.label = ANY_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT;
break;
case Ids.ID_BEANDISPLAY :
packet.name = BEANDISPLAY;
packet.label = BEANDISPLAY_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE;
break;
case Ids.ID_BeanEditForm :
packet.name = BeanEditForm;
packet.label = BeanEditForm_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT;
break;
case Ids.ID_BeanEditor :
packet.name = BeanEditor;
packet.label = BeanEditor_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE;
break;
case Ids.ID_Checkbox :
packet.name = Checkbox;
packet.label = Checkbox_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
packet.format = HTMLElementDeclaration.FORMAT_JSP_DIRECTIVE;
break;
case Ids.ID_DateField :
packet.name = DateField;
packet.label = DateField_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Delegate :
packet.name = Delegate;
packet.label = Delegate_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
break;
case Ids.ID_Error :
packet.name = Error;
packet.label = Error_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
break;
case Ids.ID_Errors:
packet.name = Errors;
packet.label = Errors_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
packet.format = HTMLElementDeclaration.FORMAT_JSP_SCRIPT;
break;
case Ids.ID_EventLink :
packet.name = EventLink;
packet.label = EventLink_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
break;
case Ids.ID_ExceptionDisplay :
packet.name = ExceptionDisplay;
packet.label = ExceptionDisplay_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
break;
case Ids.ID_Form :
packet.name = Form;
packet.label = Form_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_FormFragment :
packet.name = FormFragment;
packet.label = FormFragment_Label;
packet.content = CMElementDeclaration.CDATA;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_FormInjector :
packet.name = FormInjector;
packet.label = FormInjector_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Grid :
packet.name = Grid;
packet.label = Grid_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_GridCell:
packet.name = GridCell;
packet.label = GridCell_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
break;
case Ids.ID_GridColumns :
packet.name = GridColumns;
packet.label = GridColumns_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_GridPager:
packet.name = GridPager;
packet.label = GridPager_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
break;
case Ids.ID_GridRows:
packet.name = GridRows;
packet.label = GridRows_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Hidden:
packet.name = Hidden;
packet.label = Hidden_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_OBJECT;
break;
case Ids.ID_If:
packet.name = IfElement;
packet.label = IfElement_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Label:
packet.name = Label;
packet.label = Label_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_LinkSubmit:
packet.name = LinkSubmit;
packet.label = LinkSubmit_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Loop:
packet.name = Loop;
packet.label = Loop_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Output:
packet.name = Output;
packet.label = Output_Label;
packet.content = CMElementDeclaration.ELEMENT;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_OutputRaw:
packet.name = OutputRaw;
packet.label = OutputRaw_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_PageLink:
packet.name = PageLink;
packet.label = PageLink_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Palette:
packet.name = Palette;
packet.label = Palette_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_PasswordField:
packet.name = PasswordField;
packet.label = PasswordField_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_ProgressiveDisplay:
packet.name = ProgressiveDisplay;
packet.label = ProgressiveDisplay_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_PropertyDisplay:
packet.name = PropertyDisplay;
packet.label = PropertyDisplay_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_PropertyEditor:
packet.name = PropertyEditor;
packet.label = PropertyEditor_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Radio:
packet.name = Radio;
packet.label = Radio_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_RadioGroup:
packet.name = RadioGroup;
packet.label = RadioGroup_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Select:
packet.name = Select;
packet.label = Select_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Submit:
packet.name = Submit;
packet.label = Submit_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_TextArea:
packet.name = TextArea;
packet.label = TextArea_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_TextField:
packet.name = TextField;
packet.label = TextField_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_TextOutput:
packet.name = TextOutput;
packet.label = TextOutput_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Trigger:
packet.name = Trigger;
packet.label = Trigger_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Unless:
packet.name = Unless;
packet.label = Unless_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
case Ids.ID_Zone:
packet.name = Zone;
packet.label = Zone_Label;
packet.omit = HTMLElementDeclaration.OMIT_END;
packet.layout = HTMLElementDeclaration.LAYOUT_HIDDEN;
break;
default :
// unknown ID
return null;
}
ElemDecl dec = new ElemDecl(packet);
CMGroupImpl content = createContent(eid);
if (content != null)
dec.setContent(content);
JACreater creater = new JACreater();
dec.setAttributes(creater.getDeclarations(eid));
return dec;
}
}