Update of
/cvsroot/xdoclet/xdoclet/modules/apache/src/xdoclet/modules/apache/tapestry
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15155/xdoclet/modules/apache/tapestry
Added Files:
ComponentSpecificationSubTask.java
PageSpecificationSubTask.java TapestryDocletTask.java
TapestryTagsHandler.java
Log Message:
- added support for Tapestry (http://jakarta.apache.org/tapestry)
--- NEW FILE: ComponentSpecificationSubTask.java ---
/*
* Copyright (c) 2001, 2002 The XDoclet team
* All rights reserved.
*/
package xdoclet.modules.apache.tapestry;
import org.apache.commons.logging.Log;
import xjavadoc.XClass;
import xdoclet.TemplateSubTask;
import xdoclet.XDocletException;
/**
* Generates component-specifications for Tapestry applications.
*
* @author Michael Newcomb ([EMAIL PROTECTED])
* @created February 4, 2005
* @version $Revision: 1.1 $
* @ant.element name="component-specification"
display-name="Component-Specification SubTask"
* parent="xdoclet.modules.apache.tapestry.TapestryDocletTask"
*/
public class ComponentSpecificationSubTask extends TemplateSubTask
{
protected final static String DEFAULT_TEMPLATE_FILE =
"resources/component-specification.xdt";
/**
*/
public ComponentSpecificationSubTask()
{
setTemplateURL(getClass().getResource(DEFAULT_TEMPLATE_FILE));
setDestinationFile("{0}.jwc");
setPrefixWithPackageStructure(false);
}
/**
* Describe what the method does
*
* @param clazz Describe what the parameter does
* @return Describe the return value
* @exception XDocletException
*/
protected boolean matchesGenerationRules(XClass clazz) throws
XDocletException
{
return clazz.getDoc().getTag("tapestry.component-specification") !=
null;
}
}
--- NEW FILE: PageSpecificationSubTask.java ---
/*
* Copyright (c) 2001, 2002 The XDoclet team
* All rights reserved.
*/
package xdoclet.modules.apache.tapestry;
import org.apache.commons.logging.Log;
import xjavadoc.XClass;
import xdoclet.TemplateSubTask;
import xdoclet.XDocletException;
/**
* Generates page-specifications for Tapestry applications.
*
* @author Michael Newcomb ([EMAIL PROTECTED])
* @created February 4, 2005
* @version $Revision: 1.1 $
* @ant.element name="page-specification" display-name="Page-Specification
SubTask"
* parent="xdoclet.modules.apache.tapestry.TapestryDocletTask"
*/
public class PageSpecificationSubTask extends TemplateSubTask
{
protected final static String DEFAULT_TEMPLATE_FILE =
"resources/page-specification.xdt";
/**
*/
public PageSpecificationSubTask()
{
setTemplateURL(getClass().getResource(DEFAULT_TEMPLATE_FILE));
setDestinationFile("{0}.page");
setPrefixWithPackageStructure(false);
}
/**
* Describe what the method does
*
* @param clazz Describe what the parameter does
* @return Describe the return value
* @exception XDocletException
*/
protected boolean matchesGenerationRules(XClass clazz) throws
XDocletException
{
return clazz.getDoc().getTag("tapestry:page-specification") != null;
}
}
--- NEW FILE: TapestryDocletTask.java ---
/*
* Copyright (c) 2001, 2002 The XDoclet team
* All rights reserved.
*/
package xdoclet.modules.apache.tapestry;
import org.apache.tools.ant.BuildException;
import xdoclet.DocletTask;
/**
* This task builds various Tapestry configuration files. Make sure to include
the jar file containing the Tapestry
* classes is on the taskdef's classpath.
*
* @author Michael Newcomb ([EMAIL PROTECTED])
* @created February 4, 2005
* @version $Revision: 1.1 $
* @ant.element name="tapestrydoclet" display-name="Tapestry Task"
*/
public class TapestryDocletTask extends DocletTask
{
protected void validateOptions() throws BuildException
{
super.validateOptions();
checkClass("org.apache.tapestry.Tapestry");
}
}
--- NEW FILE: TapestryTagsHandler.java ---
/*
* Copyright (c) 2001, 2002 The XDoclet team
* All rights reserved.
*/
package xdoclet.modules.apache.tapestry;
import java.util.Collection;
import java.util.Iterator;
import java.util.Properties;
import org.apache.commons.logging.Log;
import xjavadoc.XTag;
import xdoclet.XDocletException;
import xdoclet.XDocletTagSupport;
import xdoclet.util.LogUtil;
/**
* @author Michael Newcomb ([EMAIL PROTECTED])
* @created February 4, 2005
* @version $Revision: 1.1 $
* @xdoclet.taghandler namespace="Tapestry"
*/
public class TapestryTagsHandler extends XDocletTagSupport
{
private XTag currentBean;
private XTag currentComponent;
private XTag currentContextAsset;
private XTag currentExternalAsset;
private XTag currentPrivateAsset;
private XTag currentTag;
public String currentTagValue(Properties attributes) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"currentTagValue");
String attrName = attributes.getProperty("attrName");
return currentTag.getAttributeValue(attrName);
}
public void forAllComponents(String template) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllComponents");
Collection components =
getCurrentClass().getDoc().getTags("tapestry:component", true);
for (Iterator i = components.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
currentComponent = currentTag;
generate(template);
}
currentComponent = null;
}
public void forAllProperties(String template) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllProperties");
Collection properties =
getCurrentClass().getDoc().getTags("tapestry:property", true);
for (Iterator i = properties.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
if (currentTag.getAttributeNames().contains("name") &&
currentTag.getAttributeNames().contains("value") &&
currentTag.getAttributeNames().size() == 2) {
generate(template);
}
}
}
public void forAllComponentItems(String template, Properties attributes)
throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllComponentItems");
String tagName = attributes.getProperty("tagName");
Collection items = getCurrentClass().getDoc().getTags(tagName, true);
for (Iterator i = items.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
if (currentComponent.getAttributeValue("id").equals(
currentTag.getAttributeValue("component"))) {
generate(template);
}
}
}
public void forAllBeans(String template) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllBeans");
Collection beans =
getCurrentClass().getDoc().getTags("tapestry:bean", true);
for (Iterator i = beans.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
currentBean = currentTag;
generate(template);
}
currentBean = null;
}
public void forAllBeanItems(String template, Properties attributes) throws
XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllBeanItems");
String tagName = attributes.getProperty("tagName");
Collection items = getCurrentClass().getDoc().getTags(tagName, true);
for (Iterator i = items.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
if (currentBean.getAttributeValue("name").equals(
currentTag.getAttributeValue("bean"))) {
generate(template);
}
}
}
public void forAllExternalAssets(String template) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllExternalAssets");
Collection externalAssets =
getCurrentClass().getDoc().getTags("tapestry:external-asset", true);
for (Iterator i = externalAssets.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
currentExternalAsset = currentTag;
generate(template);
}
currentExternalAsset = null;
}
public void forAllExternalAssetItems(String template, Properties
attributes) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllExternalAssetItems");
String tagName = attributes.getProperty("tagName");
Collection items = getCurrentClass().getDoc().getTags(tagName, true);
for (Iterator i = items.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
if (currentExternalAsset.getAttributeValue("name").equals(
currentTag.getAttributeValue("external-asset"))) {
generate(template);
}
}
}
public void forAllContextAssets(String template) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllContextAssets");
Collection contextAssets =
getCurrentClass().getDoc().getTags("tapestry:context-asset", true);
for (Iterator i = contextAssets.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
currentContextAsset = currentTag;
generate(template);
}
currentContextAsset = null;
}
public void forAllContextAssetItems(String template, Properties attributes)
throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllContextAssetItems");
String tagName = attributes.getProperty("tagName");
Collection items = getCurrentClass().getDoc().getTags(tagName, true);
for (Iterator i = items.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
if (currentContextAsset.getAttributeValue("name").equals(
currentTag.getAttributeValue("context-asset"))) {
generate(template);
}
}
}
public void forAllPrivateAssets(String template) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllPrivateAssets");
Collection privateAssets =
getCurrentClass().getDoc().getTags("tapestry:private-asset", true);
for (Iterator i = privateAssets.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
currentPrivateAsset = currentTag;
generate(template);
}
currentPrivateAsset = null;
}
public void forAllPrivateAssetItems(String template, Properties attributes)
throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllPrivateAssetItems");
String tagName = attributes.getProperty("tagName");
Collection items = getCurrentClass().getDoc().getTags(tagName, true);
for (Iterator i = items.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
if (currentPrivateAsset.getAttributeValue("name").equals(
currentTag.getAttributeValue("private-asset"))) {
generate(template);
}
}
}
public void forAllPropertySpecifications(String template) throws
XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllPropertySpecifications");
Collection propertySpecifications =
getCurrentClass().getDoc().getTags(
"tapestry:property-specification", true);
for (Iterator i = propertySpecifications.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
generate(template);
}
}
public void forAllParameters(String template) throws XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllParameters");
Collection parameters =
getCurrentClass().getDoc().getTags("tapestry:parameter", true);
for (Iterator i = parameters.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
generate(template);
}
}
public void forAllReservedParameters(String template) throws
XDocletException
{
Log log = LogUtil.getLog(TapestryTagsHandler.class,
"forAllReservedParameters");
Collection parameters =
getCurrentClass().getDoc().getTags(
"tapestry:reserved-parameter", true);
for (Iterator i = parameters.iterator(); i.hasNext(); ) {
currentTag = (XTag) i.next();
generate(template);
}
}
public void ifCurrentTagHasAttribute(String template, Properties
attributes) throws XDocletException
{
if (currentTagValue(attributes) != null) {
generate(template);
}
}
}
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
xdoclet-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel