blob: 6f2a4054d96e05cbbfccb83d4227403832b2a9af [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008 Angelo Zerr 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:
* Angelo Zerr <angelo.zerr@gmail.com> - initial API and implementation
*******************************************************************************/
package org.eclipse.e4.ui.css.core.dom.properties;
import java.util.Collection;
import org.eclipse.e4.ui.css.core.engine.CSSEngine;
import org.w3c.dom.css.CSSStyleDeclaration;
/**
* Interface CSS Property Handler provider to manage
* <ul>
* <li>the strategy to provide list of {@link ICSSPropertyHandler} linked to a
* CSS Property.</li>
* <li>the strategy to get the CSS default style declaration of an element</li>
* </ul>
*/
public interface ICSSPropertyHandlerProvider {
/**
* Return list of {@link ICSSPropertyHandler} linked to the CSS Property
* <code>property</code>.
*
* @param property
* @return
* @throws Exception
*/
public Collection getCSSPropertyHandlers(String property) throws Exception;
/**
* Return the default CSS style declaration of the <code>element</code>
* before apply the <code>newStyle</code> {@link CSSStyleDeclaration}.
*
* @param engine
* @param element
* @param newStyle
* @param pseudoE
* @return
* @throws Exception
*/
public CSSStyleDeclaration getDefaultCSSStyleDeclaration(CSSEngine engine,
Object element, CSSStyleDeclaration newStyle, String pseudoE)
throws Exception;
}