//------------------------------------------------------------------------------ // Copyright (c) 2008 IBM 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: // IBM Corporation - initial implementation //------------------------------------------------------------------------------ package org.eclipse.epf.library.util; import org.eclipse.core.runtime.IExecutableExtension; import org.eclipse.epf.library.layout.util.XmlElement; import org.eclipse.epf.uma.MethodElement; /** * This interface, in conjunction with the extension point * elementPropertyProviders, provides a mechanism for exposure of custom * attributes of MethodElement to the XSLT templates during a publish of the * method library. * * @author Pierre Padovani * */ public interface IElementPropertyProvider extends IExecutableExtension { /** * Implementors must return the name of the child XmlElement they wish to have created * against the MethodElement being processed. This name will be used to create the child * XmlElement before a subsequent call to publishMethodElementProperties. If no properties * for the element exist or have been defined, return null. * * @param element * MethodElement * @return String */ public String getChildElementName(MethodElement element); /** * Implementors of this method will be given a child XmlElement that can be filled with * any data desired. All data contained in this XmlElement will be exposed to the XSLT * during a publish. * * @param element * MethodElement * @param data * XmlElement */ public void publishMethodElementProperties(MethodElement element, XmlElement data); }