/*
* Copyright 2007 Sun Microsystems, Inc.
* All rights reserved. You may not modify, use,
* reproduce, or distribute this software except in
* compliance with the terms of the License at:
* http://developer.sun.com/berkeley_license.html
*/
package com.sun.bookstore6.taglib;
import com.sun.bookstore6.components.MapComponent;
import javax.faces.component.UIComponent;
import javax.faces.event.MethodExpressionActionListener;
import javax.faces.webapp.UIComponentELTag;
/**
* <p>{@link UIComponentTag} for an image map.</p>
*/
public class MapTag extends UIComponentELTag {
private javax.el.MethodExpression action = null;
private javax.el.MethodExpression actionListener = null;
private javax.el.ValueExpression current = null;
private javax.el.ValueExpression immediate = null;
private javax.el.ValueExpression styleClass = null;
public void setCurrent(javax.el.ValueExpression current) {
this.current = current;
}
public void setActionListener(javax.el.MethodExpression actionListener) {
this.actionListener = actionListener;
}
public void setAction(javax.el.MethodExpression action) {
this.action = action;
}
public void setImmediate(javax.el.ValueExpression immediate) {
this.immediate = immediate;
}
public void setStyleClass(javax.el.ValueExpression styleClass) {
this.styleClass = styleClass;
}
public String getComponentType() {
return ("DemoMap");
}
public String getRendererType() {
return ("DemoMap");
}
public void release() {
super.release();
current = null;
styleClass = null;
actionListener = null;
action = null;
immediate = null;
styleClass = null;
}
protected void setProperties(UIComponent component) {
super.setProperties(component);
MapComponent map = (MapComponent) component;
if (styleClass != null) {
if (!styleClass.isLiteralText()) {
map.setValueExpression("styleClass", styleClass);
} else {
map.getAttributes()
.put(
"styleClass",
styleClass.getExpressionString());
}
}
if (actionListener != null) {
map.addActionListener(
new MethodExpressionActionListener(actionListener));
}
if (action != null) {
map.setActionExpression(action);
}
if (immediate != null) {
if (!immediate.isLiteralText()) {
map.setValueExpression("immediate", immediate);
} else {
map.setImmediate(
new Boolean(immediate.getExpressionString())
.booleanValue());
}
}
}
}