blob: 6e7348d651b79ecd6e53dff67d18bfef1c99d445 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2008 Oracle 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:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.common.runtime.internal.model.behavioural;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.eclipse.jst.jsf.common.runtime.internal.model.IDesigntimeAdapter;
import org.eclipse.jst.jsf.common.runtime.internal.model.component.ComponentFactory;
import org.eclipse.jst.jsf.common.runtime.internal.model.decorator.ActionListenerDecorator;
/**
* Implementation of the ActionSourceInfo.
*
* @author cbateman
*
*/
public class ActionSourceInfo implements IActionSourceInfo, IDesigntimeAdapter
{
/**
* serializable id
*/
private static final long serialVersionUID = 6531166406473466685L;
private static final String[] INTERFACE = new String[]{ComponentFactory.INTERFACE_ACTIONSOURCE};
private final String _action;
private final String _actionListener;
private final boolean _immediate;
private List/*<ActionListenerDecorator>*/ _actionListeners;
/**
* @param action
* @param actionListener
* @param immediate
*/
public ActionSourceInfo(final String action, final String actionListener,
final boolean immediate)
{
super();
_action = action;
_actionListener = actionListener;
_immediate = immediate;
}
public void addActionListener(final ActionListenerDecorator actionListener) {
if (_actionListeners == null)
{
_actionListeners = new ArrayList(2);
}
_actionListeners.add(actionListener);
}
public String getAction() {
return _action;
}
public String getActionListener() {
return _actionListener;
}
public List getActionListeners() {
if (_actionListeners == null)
{
return Collections.EMPTY_LIST;
}
return Collections.unmodifiableList(_actionListeners);
}
public boolean isImmediate() {
return _immediate;
}
public String[] getInterfaces()
{
return INTERFACE;
}
}