/*
* 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.AreaComponent;
import javax.faces.component.UIComponent;
import javax.faces.component.ValueHolder;
import javax.faces.webapp.UIComponentELTag;
/**
* <p>{@link UIComponentTag} for an image map hotspot.</p>
*/
public class AreaTag extends UIComponentELTag {
private javax.el.ValueExpression alt;
private javax.el.ValueExpression coords;
private javax.el.ValueExpression onmouseout;
private javax.el.ValueExpression onmouseover = null;
private javax.el.ValueExpression shape = null;
private javax.el.ValueExpression styleClass = null;
private javax.el.ValueExpression targetImage;
private javax.el.ValueExpression value = null;
public void setAlt(javax.el.ValueExpression alt) {
this.alt = alt;
}
public void setTargetImage(javax.el.ValueExpression targetImage) {
this.targetImage = targetImage;
}
public void setCoords(javax.el.ValueExpression coords) {
this.coords = coords;
}
public void setOnmouseout(javax.el.ValueExpression newonmouseout) {
onmouseout = newonmouseout;
}
public void setOnmouseover(javax.el.ValueExpression newonmouseover) {
onmouseover = newonmouseover;
}
public void setShape(javax.el.ValueExpression shape) {
this.shape = shape;
}
public void setStyleClass(javax.el.ValueExpression styleClass) {
this.styleClass = styleClass;
}
public void setValue(javax.el.ValueExpression newValue) {
value = newValue;
}
public String getComponentType() {
return ("DemoArea");
}
public String getRendererType() {
return ("DemoArea");
}
public void release() {
super.release();
this.alt = null;
this.coords = null;
this.onmouseout = null;
this.onmouseover = null;
this.shape = null;
this.styleClass = null;
this.value = null;
}
protected void setProperties(UIComponent component) {
super.setProperties(component);
AreaComponent area = (AreaComponent) component;
if (alt != null) {
if (!alt.isLiteralText()) {
area.setValueExpression("alt", alt);
} else {
area.setAlt(alt.getExpressionString());
}
}
if (coords != null) {
if (!coords.isLiteralText()) {
area.setValueExpression("coords", coords);
} else {
area.setCoords(coords.getExpressionString());
}
}
if (onmouseout != null) {
if (!onmouseout.isLiteralText()) {
area.setValueExpression("onmouseout", onmouseout);
} else {
area.getAttributes()
.put(
"onmouseout",
onmouseout.getExpressionString());
}
}
if (onmouseover != null) {
if (!onmouseover.isLiteralText()) {
area.setValueExpression("onmouseover", onmouseover);
} else {
area.getAttributes()
.put(
"onmouseover",
onmouseover.getExpressionString());
}
}
if (shape != null) {
if (!shape.isLiteralText()) {
area.setValueExpression("shape", shape);
} else {
area.setShape(shape.getExpressionString());
}
}
if (styleClass != null) {
if (!styleClass.isLiteralText()) {
area.setValueExpression("styleClass", styleClass);
} else {
area.getAttributes()
.put(
"styleClass",
styleClass.getExpressionString());
}
}
if (area instanceof ValueHolder) {
ValueHolder valueHolder = (ValueHolder) component;
if (value != null) {
if (!value.isLiteralText()) {
area.setValueExpression("value", value);
} else {
valueHolder.setValue(value.getExpressionString());
}
}
}
// target image is required
area.setValueExpression("targetImage", targetImage);
}
}