blob: c5a8041d3aea9e1e20b856f2f7741792c866ccd6 [file] [log] [blame]
/*******************************************************************************
* 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();
}