Component identification parameters

Name | Value
--- | ---
listener-class | org.richfaces.event.NodeExpandedListener
event-class | org.richfaces.event.NodeExpandedEvent
tag-class | org.richfaces.taglib.ChangeExpandListenerTag

## Creating the Component with a Page Tag

Simple Component definition on a page:

Example:

    ...
    	<rich:changeExpandListener type="demo.Bean"/>
    ...

## Creating the Component Dynamically Using Java

Example:

    package demo;

    public class ImplBean implements org.richfaces.event.NodeExpandedListener{
    	...
    }

    import demo.ImplBean;
    ...
    ImplBean myListener = new ImplBean();
    ...

## Details of usage

The <rich:changeExpandListener> is used as a nested tag with <rich:tree> and <rich:treeNode> components.

Attribute "type" defines the fully qualified Java class name for the listener. This class should implement org.richfaces.event.NodeExpandedListener interface.

The typical variant of using:

    ...
    <rich:tree switchType="server" value="#{project.data}" var="item" nodeFace="#{item.type}">
    	<rich:changeExpandListener type="demo.ListenerBean"/>
    	...
    	<!-- Tree nodes -->
    	...
    </rich:tree>
    ...

Java bean source:

    package demo;

    import org.richfaces.event.NodeExpandedEvent;

    public class ListenerBean implements org.richfaces.event.NodeExpandedListener{
    ...
    	public void processExpansion(NodeExpandedEvent arg0){
    		//Custom Developer Code
    	}
    ...
    }

## Look-and-Feel Customization

<rich:changeExpandListener> has no skin parameters and custom style classes, as the component isn't visual.