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