| package org.eclipse.jst.pagedesigner.dtmanager.converter.internal; |
| |
| import org.w3c.dom.Element; |
| |
| /** |
| * Marks an object that can resolve the runtime value of an attribute at |
| * design time. The "runtime" value may be a best-guess or simulated value. |
| * |
| * @author cbateman |
| * |
| */ |
| public interface IAttributeValueResolver |
| { |
| /** |
| * Passed as convertedAttrName if the convertedElement's text content |
| * is the 'attribute' to be resolved. |
| */ |
| public static final String TEXT_NODE_KEY = "#text"; //$NON-NLS-1$ |
| |
| /** |
| * @param originalElement |
| * @param convertedElement |
| * @param convertedAttrName |
| * @param convertedAttrValue |
| * |
| * @return true if this resolver can resolve the value of attrName on domNode |
| */ |
| public abstract boolean canResolve(final Element originalElement, |
| final Element convertedElement, |
| final String convertedAttrName, |
| final String convertedAttrValue); |
| |
| /** |
| * @param originalElement |
| * @param convertedElement |
| * @param convertedAttrName |
| * @param convertedAttrValue |
| * @return the resolved String value of attrName. A value of null does not necessarily |
| * mean that the value couldn't be resolved. |
| */ |
| public abstract String resolveAttribute(final Element originalElement, |
| final Element convertedElement, final String convertedAttrName, |
| final String convertedAttrValue); |
| } |