package org.jboss.seam.deployment;
import org.jboss.seam.contexts.Contexts;
/**
* The {@link DotPageDotXmlDeploymentHandler} process .page.xml files
*
* @author Pete Muir
*
*/
public class DotPageDotXmlDeploymentHandler extends AbstractDeploymentHandler
{
private static DeploymentMetadata DOTPAGEDOTXML_SUFFIX_FILE_METADATA = new DeploymentMetadata()
{
public String getFileNameSuffix()
{
return ".page.xml";
}
};
/**
* Name under which this {@link DeploymentHandler} is registered
*/
public static final String NAME = "org.jboss.seam.deployment.DotPageDotXmlDeploymentHandler";
public String getName()
{
return NAME;
}
public static DotPageDotXmlDeploymentHandler instance()
{
if (Contexts.isEventContextActive())
{
if (Contexts.getEventContext().isSet(WarRootDeploymentStrategy.NAME))
{
DeploymentStrategy deploymentStrategy = (DeploymentStrategy) Contexts.getEventContext().get(WarRootDeploymentStrategy.NAME);
Object deploymentHandler = deploymentStrategy.getDeploymentHandlers().get(NAME);
if (deploymentHandler != null)
{
return (DotPageDotXmlDeploymentHandler) deploymentHandler;
}
}
return null;
}
else
{
throw new IllegalStateException("Event context not active");
}
}
public DeploymentMetadata getMetadata()
{
return DOTPAGEDOTXML_SUFFIX_FILE_METADATA;
}
}