# Class CSSPropertyHandlerLazyProviderImpl

java.lang.Object
org.eclipse.e4.ui.css.core.dom.properties.providers.AbstractCSSPropertyHandlerProvider
org.eclipse.e4.ui.css.core.dom.properties.providers.CSSPropertyHandlerLazyProviderImpl

All Implemented Interfaces:
  `ICSSPropertyHandlerProvider`

public class CSSPropertyHandlerLazyProviderImpl extends AbstractCSSPropertyHandlerProvider
CSS property handler with lazy strategy. `ICSSPropertyHandler` are retrieved with name into packages registered with registerPackage method.

## Constructor Summary

Constructors
Constructor
Description
`CSSPropertyHandlerLazyProviderImpl()`

## Method Summary

Modifier and Type
Method
Description
`Collection<String>`
`getCSSProperties(Object element)`
Return the list of applicable properties for `element`
`protected ICSSPropertyHandler`
`getCSSPropertyHandler(String packageName, String handlerClassName)`
Reflexive method that return a property handler class
`Collection<ICSSPropertyHandler>`
`getCSSPropertyHandlers(Object element, String property)`
Return list of `ICSSPropertyHandler` linked to the CSS Property `property` for the provided element.
`Collection<ICSSPropertyHandler>`
`getCSSPropertyHandlers(String property)`
Return the list of PropertiesHandler corresponding to the property name given as argument
`protected CSSStyleDeclaration`
`getDefaultCSSStyleDeclaration(CSSEngine engine, CSSStylableElement stylableElement, CSSStyleDeclaration newStyle, String pseudoE)`
Return the default CSS style declaration of the `CSSStylableElement` `stylableElement` before apply the `newStyle` `CSSStyleDeclaration`.
`protected String`
`getHandlerClassName(String property)`
Return the handler class name corresponding to the property label given as argument A Property Handler Class Name is CSSPropertyXXXHandler (like CSSPropertyBorderTopColorHandler)
`protected Map<String, List<ICSSPropertyHandler>>`
`getPropertyToHandlersMap()`
`void`
`registerPackage(String packageName)`
Register a package path "name.name1." where to search for PropertyHandler class

### Methods inherited from class AbstractCSSPropertyHandlerProvider

`getCSSPropertyStyle, getDefaultCSSStyleDeclaration`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CSSPropertyHandlerLazyProviderImpl

public CSSPropertyHandlerLazyProviderImpl()

## Method Details

### getCSSPropertyHandlers

public Collection<ICSSPropertyHandler> getCSSPropertyHandlers(String property) throws Exception
Return the list of PropertiesHandler corresponding to the property name given as argument

Throws:
  `Exception`

### registerPackage

public void registerPackage(String packageName)
Register a package path "name.name1." where to search for PropertyHandler class

### getPropertyToHandlersMap

protected Map<String, List<ICSSPropertyHandler>> getPropertyToHandlersMap()

### getCSSPropertyHandler

protected ICSSPropertyHandler getCSSPropertyHandler(String packageName, String handlerClassName) throws Exception
Reflexive method that return a property handler class

Throws:
  `Exception`

### getHandlerClassName

protected String getHandlerClassName(String property)
Return the handler class name corresponding to the property label given as argument A Property Handler Class Name is CSSPropertyXXXHandler (like CSSPropertyBorderTopColorHandler)

### getDefaultCSSStyleDeclaration

protected CSSStyleDeclaration getDefaultCSSStyleDeclaration(CSSEngine engine, CSSStylableElement stylableElement, CSSStyleDeclaration newStyle, String pseudoE) throws Exception
Description copied from class: `AbstractCSSPropertyHandlerProvider`
Return the default CSS style declaration of the `CSSStylableElement` `stylableElement` before apply the `newStyle` `CSSStyleDeclaration`.

Specified by:
  `getDefaultCSSStyleDeclaration` in class `AbstractCSSPropertyHandlerProvider`
Throws:
  `Exception`

### getCSSPropertyHandlers

public Collection<ICSSPropertyHandler> getCSSPropertyHandlers(Object element, String property) throws Exception
Description copied from interface: `ICSSPropertyHandlerProvider`
Return list of `ICSSPropertyHandler` linked to the CSS Property `property` for the provided element.

Parameters:
  `element` - the DOM element
Returns:
  the handlers for the element
Throws:
  `Exception`

### getCSSProperties

public Collection<String> getCSSProperties(Object element)
Description copied from interface: `ICSSPropertyHandlerProvider`
Return the list of applicable properties for `element`

Parameters:
  `element` - the DOM element