blob: 50b8462a7c51e987c98e21a7e2072f04cf579932 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.pluto.tags;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
/**
* A tag handler for the <CODE>property</CODE> tag. Defines a property that
* can be added to a <CODE>actionURL</CODE>, a <CODE>resourceURL</CODE> or a <CODE>renderURL</CODE>
* <BR>The following attributes are mandatory:
* <UL>
* <LI><CODE>name</CODE>
* <LI><CODE>value</CODE>
* </UL>
*
* The parent tag handler must be a subclass of <code>BaseURLTag</code>.
*
* @version 2.0
*/
public class PropertyTag extends TagSupport {
private static final long serialVersionUID = 286L;
private String name = null;
private String value = null;
/**
* Processes the <CODE>param</CODE> tag.
* @return <CODE>SKIP_BODY</CODE>
*/
public int doStartTag() throws JspException {
BaseURLTag urlTag = (BaseURLTag)
findAncestorWithClass(this, BaseURLTag.class);
if (urlTag == null) {
throw new JspException(
"the 'property' Tag must have a actionURL, renderURL " +
"or resourceURL tag as a parent");
}
urlTag.addProperty(getName(), getValue());
return SKIP_BODY;
}
/**
* Returns the name.
* @return String
*/
public String getName() {
return name;
}
/**
* Returns the value.
* @return String
*/
public String getValue() throws JspException {
if (value == null) {
value = "";
}
return value;
}
/**
* Sets the name.
* @param name The name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* Sets the value.
* @param value The value to set
*/
public void setValue(String value) {
this.value = value;
}
}