Package org.sentinel.servers.http.configuration

Source Code of org.sentinel.servers.http.configuration.Application

package org.sentinel.servers.http.configuration;

import java.util.ArrayList;
import org.sentinel.configuration.ConfigurationException;
import org.sentinel.configuration.ConfigurationNode;
import org.sentinel.configuration.ConfigurationParser;
import org.sentinel.configuration.ConfigurationParserHelper;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Application implements ConfigurationParser, ConfigurationNode
{

    protected String name;
   
    protected Class application;
   
    protected String prefix;
   
    protected ArrayList<Static> statics = new ArrayList<Static>();
   
    public Application()
    {
    }

    public Application(String name, Class application, String prefix)
    {
        this.name = name;
        this.application = application;
        this.prefix = prefix;
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public Class getApplication()
    {
        return application;
    }

    public void setApplication(Class application)
    {
        this.application = application;
    }

    public String getPrefix()
    {
        return prefix;
    }

    public void setPrefix(String prefix)
    {
        this.prefix = prefix;
    }

    public ArrayList<Static> getStatics()
    {
        return statics;
    }

    @Override
    public ConfigurationNode parseRoot(Node node) throws ConfigurationException
    {
        ConfigurationParserHelper.parseRoot(node, this);
        return this;
    }

    @Override
    public String toString()
    {
        return "<application application=\"" + application.getCanonicalName() + "\" name=\"" +
            name + "\" prefix=\"" + prefix + "\"/>";
    }

    @Override
    public void parseTextElement(String content) throws ConfigurationException
    {
        // ignore
    }

    @Override
    public boolean parseElement(Node node) throws ConfigurationException
    {
        // <static>
        if(node.getNodeName().equals("static")) {
            statics.add((Static) new Static().parseRoot(node));
            return true;
        }
       
        return false;
    }

    @Override
    public boolean parseAttribute(String name, String value) throws ConfigurationException
    {
        if(name.equals("name")) {
            this.name = value;
            return true;
        }
       
        if(name.equals("application")) {
            try {
                this.application = Class.forName(value);
                return true;
            }
            catch(ClassNotFoundException ex) {
                throw new ConfigurationException("No such class '" + ex.getMessage() + "'");
            }
        }
       
        if(name.equals("prefix")) {
            this.prefix = value;
            return true;
        }
       
        return false;
    }

    @Override
    public String[] getRequiredChildElements()
    {
        return new String[] { };
    }

    @Override
    public String[] getRequiredAttributes()
    {
        return new String[] { "name", "application", "prefix" };
    }
   
}
TOP

Related Classes of org.sentinel.servers.http.configuration.Application

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.