/*******************************************************************************
* Copyright (c) 2007 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.cdi.xml.ui.editor.form;
import org.jboss.tools.cdi.xml.beans.model.CDIBeansConstants;
import org.jboss.tools.cdi.xml.ui.CDIXMLUIMessages;
import org.jboss.tools.common.model.ui.forms.*;
public class CDIBeansFileFormLayoutData implements CDIBeansConstants {
static IFormData getClassListDefinition(String title) {
return new FormData(
title,
CDIXMLFormLayoutData.EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("class", 100)}, //$NON-NLS-1$
new String[]{ENT_CDI_CLASS},
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateClass") //$NON-NLS-1$
);
}
static IFormData CDI_STEREOTYPE_LIST_DEFINITION = new FormData(
CDIXMLUIMessages.STEREOTYPES,
CDIXMLFormLayoutData.EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("stereotype", 100)}, //$NON-NLS-1$
new String[]{ENT_CDI_STEREOTYPE},
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateStereotype") //$NON-NLS-1$
);
private final static IFormData[] DECORATORS_DEFINITIONS = new IFormData[] {
getClassListDefinition(CDIXMLUIMessages.DECORATORS)
};
private final static IFormData[] INTERCEPTORS_DEFINITIONS = new IFormData[] {
getClassListDefinition(CDIXMLUIMessages.INTERCEPTORS)
};
private final static IFormData[] ALTERNATIVES_DEFINITIONS = new IFormData[] {
new FormData(
CDIXMLUIMessages.ALTERNATIVES,
CDIXMLFormLayoutData.EMPTY_DESCRIPTION,
FormLayoutDataUtil.createGeneralFormAttributeData(ENT_ALTERNATIVES)
),
getClassListDefinition(CDIXMLUIMessages.CLASSES),
CDI_STEREOTYPE_LIST_DEFINITION
};
private final static IFormData[] FILE_10_DEFINITIONS = new IFormData[] {
new FormData(
CDIXMLUIMessages.CDI_BEANS_1_0_FILE,
CDIXMLFormLayoutData.EMPTY_DESCRIPTION,
FormLayoutDataUtil.createGeneralFormAttributeData(ENT_CDI_BEANS)
),
};
static IFormData getIncludeExcludeDefinition(String title) {
return new FormData(
title,
CDIXMLFormLayoutData.EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("element type", 20, "Kind"), new FormAttributeData("name", 70), new FormAttributeData("is regular expression", 10, "RegEx")}, //$NON-NLS-1$
new String[]{"CDIWeldInclude", "CDIWeldExclude"}, //$NON-NLS-1$ //$NON-NLS-2$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddItem") //$NON-NLS-1$
);
}
private final static IFormData[] WELD_SCAN_DEFINITIONS = new IFormData[] {
getIncludeExcludeDefinition(CDIXMLUIMessages.INCLUDE_AND_EXCLUDE)
};
static IFormData getExcludeListDefinition(String title) {
return new FormData(
title,
CDIXMLFormLayoutData.EMPTY_DESCRIPTION,
new FormAttributeData[]{new FormAttributeData("name", 100)}, //$NON-NLS-1$
new String[]{"CDIExclude"}, //$NON-NLS-1$
FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddExclude") //$NON-NLS-1$
);
}
private final static IFormData[] SCAN_DEFINITIONS = new IFormData[] {
getExcludeListDefinition("Exclude")
};
final static IFormData FILE_20_FORM_DEFINITION = new FormData(
ENT_CDI_BEANS, new String[]{null}, FILE_10_DEFINITIONS);
final static IFormData DECORATORS_DEFINITION = new FormData(
ENT_DECORATORS, new String[]{null}, DECORATORS_DEFINITIONS);
final static IFormData INTERCEPTORS_DEFINITION = new FormData(
ENT_INTERCEPTORS, new String[]{null}, INTERCEPTORS_DEFINITIONS);
final static IFormData ALTERNATIVES_DEFINITION = new FormData(
ENT_ALTERNATIVES, new String[]{null}, ALTERNATIVES_DEFINITIONS);
final static IFormData WELD_SCAN_DEFINITION = new FormData(
"CDIWeldScan", new String[]{null}, WELD_SCAN_DEFINITIONS); //$NON-NLS-1$
final static IFormData SCAN_DEFINITION = new FormData(
"CDIScan", new String[]{null}, SCAN_DEFINITIONS); //$NON-NLS-1$
}