All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.catalina.Host Maven / Gradle / Ivy

There is a newer version: 7.2024.1.Alpha1
Show newest version
/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.
 *
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common Development
 * and Distribution License("CDDL") (collectively, the "License").  You
 * may not use this file except in compliance with the License.  You can
 * obtain a copy of the License at
 * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
 * or packager/legal/LICENSE.txt.  See the License for the specific
 * language governing permissions and limitations under the License.
 *
 * When distributing the software, include this License Header Notice in each
 * file and include the License file at packager/legal/LICENSE.txt.
 *
 * GPL Classpath Exception:
 * Oracle designates this particular file as subject to the "Classpath"
 * exception as provided by Oracle in the GPL Version 2 section of the License
 * file that accompanied this code.
 *
 * Modifications:
 * If applicable, add the following below the License Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyright [year] [name of copyright owner]"
 *
 * Contributor(s):
 * If you wish your version of this file to be governed by only the CDDL or
 * only the GPL Version 2, indicate your decision by adding "[Contributor]
 * elects to include this software in this distribution under the [CDDL or GPL
 * Version 2] license."  If you don't indicate a single choice of license, a
 * recipient has the option to distribute your version of this file under
 * either the CDDL, the GPL Version 2 or to extend the choice of license to
 * its licensees as provided above.  However, if you add GPL Version 2 code
 * and therefore, elected the GPL Version 2 license, then the option applies
 * only if the new code is made subject to such option by the copyright
 * holder.
 *
 *
 * This file incorporates work covered by the following copyright and
 * permission notice:
 *
 * Copyright 2004 The Apache Software Foundation
 *
 * Licensed 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.
 */
// Portions Copyright [2019] Payara Foundation and/or affiliates

package org.apache.catalina;


/**
 * A Host is a Container that represents a virtual host in the
 * Catalina servlet engine.  It is useful in the following types of scenarios:
 * 
    *
  • You wish to use Interceptors that see every single request processed * by this particular virtual host. *
  • You wish to run Catalina in with a standalone HTTP connector, but still * want support for multiple virtual hosts. *
* In general, you would not use a Host when deploying Catalina connected * to a web server (such as Apache), because the Connector will have * utilized the web server's facilities to determine which Context (or * perhaps even which Wrapper) should be utilized to process this request. *

* The parent Container attached to a Host is generally an Engine, but may * be some other implementation, or may be omitted if it is not necessary. *

* The child containers attached to a Host are generally implementations * of Context (representing an individual servlet context). * * @author Craig R. McClanahan * @version $Revision: 1.2 $ $Date: 2005/12/08 01:27:16 $ */ public interface Host extends Container { // ----------------------------------------------------- Manifest Constants /** * The ContainerEvent event type sent when a new alias is added * by addAlias(). */ public static final String ADD_ALIAS_EVENT = "addAlias"; /** * The ContainerEvent event type sent when an old alias is removed * by removeAlias(). */ public static final String REMOVE_ALIAS_EVENT = "removeAlias"; // ------------------------------------------------------------- Properties /** * Return the application root for this Host. This can be an absolute * pathname, a relative pathname, or a URL. */ public String getAppBase(); /** * Set the application root for this Host. This can be an absolute * pathname, a relative pathname, or a URL. * * @param appBase The new application root */ public void setAppBase(String appBase); /** * Return the value of the auto deploy flag. If true, it indicates that * this host's child webapps should be discovered and automatically * deployed dynamically. */ public boolean getAutoDeploy(); /** * Set the auto deploy flag value for this host. * * @param autoDeploy The new auto deploy flag */ public void setAutoDeploy(boolean autoDeploy); /** * Return the value of the deploy on startup flag. If true, it indicates * that this host's child webapps should be discovered and automatically * deployed. */ public boolean getDeployOnStartup(); /** * Set the deploy on startup flag value for this host. * * @param deployOnStartup The new deploy on startup flag */ public void setDeployOnStartup(boolean deployOnStartup); /** * Return the canonical, fully qualified, name of the virtual host * this Container represents. */ @Override public String getName(); /** * Set the canonical, fully qualified, name of the virtual host * this Container represents. * * @param name Virtual host name * * @exception IllegalArgumentException if name is null */ @Override public void setName(String name); /** * Get the server.xml attribute's xmlNamespaceAware. * @return true if namespace awareness is enabled. * */ public boolean getXmlNamespaceAware(); /** * Get the server.xml attribute's xmlValidation. * @return true if validation is enabled. * */ public boolean getXmlValidation(); /** * Set the validation feature of the XML parser used when * parsing xml instances. * @param xmlValidation true to enable xml instance validation */ public void setXmlValidation(boolean xmlValidation); /** * Set the namespace aware feature of the XML parser used when * parsing xml instances. * @param xmlNamespaceAware true to enable namespace awareness */ public void setXmlNamespaceAware(boolean xmlNamespaceAware); // BEGIN S1AS 5000999 /** * Associates this Host with the given network listener names. * * @param networkListenerNames The network listener names with which to associate this Host */ public void setNetworkListenerNames(String[] networkListenerNames); /** * Gets the network listener names with which this Host is associated. * * @return The network listener names with which this Host is associated, * or null if this Host has not been associated with any network listener */ public String[] getNetworkListenerNames(); // END S1AS 5000999 // --------------------------------------------------------- Public Methods /** * Add an alias name that should be mapped to this same Host. * * @param alias The alias to be added */ public void addAlias(String alias); /** * Return the set of alias names for this Host. If none are defined, * a zero length array is returned. */ public String[] findAliases(); /** * Return the Context that would be used to process the specified * host-relative request URI, if any; otherwise return null. * * @param uri Request URI to be mapped */ public Context map(String uri); /** * Remove the specified alias name from the aliases for this Host. * * @param alias Alias name to be removed */ public void removeAlias(String alias); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy