/******************************************************************************* * Copyright (c) 2007 Oracle Corporation 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: * Oracle Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jst.pagedesigner.editors.properties; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField; import org.eclipse.jst.jsf.metadataprocessors.IMetaDataEnabledFeature; import org.eclipse.swt.widgets.Composite; /** * Property descriptor for metadata enabled tag attributes in the WPE property pages. * * <p><b>Provisional API - subject to change</b></p> * Not intended to be implemented by clients. */ public interface IPropertyPageDescriptor extends IMetaDataEnabledFeature, IAdaptable{ /** * Trait id for defining quick edit tab sections. Value must be of type qe:QuickEditTabSections * eg. <value xsi:type="qe:QuickEditTabSections"> */ public static final String QUICK_EDIT_TAB = "quick-edit-tab"; //$NON-NLS-1$ /** * Trait id for category name value */ public static final String PROP_DESC_CATEGORY = "category"; //$NON-NLS-1$ // /** // * Trait id for fully qualified cell editor class name // */ // public static final String PROP_DESC_CELL_EDITOR = "cell-editor"; // /** // * Trait id for fully qualified dialog field editor name // */ // public static final String PROP_DESC_DIALOG_FIELD_EDITOR = "dialog-field-editor"; /** * @return name of attribute. Must not be null. */ public String getAttributeName(); /** * @return category name. Must not be null. */ public String getCategory(); /** * @return label to use. Must not be null. */ public String getLabel(); /** * @return description. May return null. */ public String getDescription(); /** * @return whether this is a required property. Default false. */ public boolean isRequired(); /** * @param parent * @return cell editor to use. May be null. */ public CellEditor getCellEditor(Composite parent); /** * @return dialog field editor to use. May be null. */ public DialogField getDialogFieldEditor(); /** * @return uri. Must not be null. */ public String getUri(); /** * @return tag name. Must not be null. */ public String getTagName(); /** * @return fully qualified attribute-value-runtime-type as String */ public String getValueType(); }