/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 1997-2017 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://oss.oracle.com/licenses/CDDL+GPL-1.1
* or 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 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.
*/
package org.glassfish.embeddable.web.config;
/**
* Class used for configuring VirtualServer instances.
*
* @see org.glassfish.embeddable.web.VirtualServer
*/
public class VirtualServerConfig {
private boolean ssoEnabled;
private boolean accessLoggingEnabled;
private String defaultWebXml;
private String contextXmlDefault;
private boolean allowLinking;
private String allowRemoteAddress;
private String denyRemoteAddress;
private String allowRemoteHost;
private String denyRemoteHost;
private String hostNames = "${com.sun.aas.hostName}";
/**
* Enables or disables Single-Sign-On.
*
* @param ssoEnabled true if Single-Sign-On is to be enabled, false
* otherwise
*/
public void setSsoEnabled(boolean ssoEnabled) {
this.ssoEnabled = ssoEnabled;
}
/**
* Checks if Single-Sign-On is enabled or disabled.
*
* @return true if Single-Sign-On is enabled, false otherwise
*/
public boolean isSsoEnabled() {
return ssoEnabled;
}
/**
* Enables or disables access logging.
*
* @param accessLoggingEnabled true if access logging is to be enabled,
* false otherwise
*/
public void setAccessLoggingEnabled(boolean accessLoggingEnabled) {
this.accessLoggingEnabled = accessLoggingEnabled;
}
/**
* Checks if access logging is enabled or disabled.
*
* @return true if access logging is enabled, false otherwise
*/
public boolean isAccessLoggingEnabled() {
return accessLoggingEnabled;
}
/**
* Sets the location of the default web.xml configuration file.
*
* @param defaultWebXml the location of the default web.xml configuration
* file
*/
public void setDefaultWebXml(String defaultWebXml) {
this.defaultWebXml = defaultWebXml;
}
/**
* Gets the location of the default web.xml configuration file.
*
* @return the location of the default web.xml configuration file, or
* <tt>null</tt> if <tt>setDefaultWebXml</tt> was never called on this
* <tt>VirtualServerConfig</tt>
*/
public String getDefaultWebXml() {
return defaultWebXml;
}
/**
* Sets the location of the default context.xml configuration file.
*
* @param contextXmlDefault the location of the default context.xml
* configuration file.
*/
public void setContextXmlDefault(String contextXmlDefault) {
this.contextXmlDefault = contextXmlDefault;
}
/**
* Gets the location of the default context.xml configuration file.
*
* @return the location of the default context.xml configuration file,
* or <tt>null</tt> if <tt>setContextXmlDefault</tt> was never called
* on this <tt>VirtualServerConfig</tt>
*/
public String getContextXmlDefault() {
return contextXmlDefault;
}
/**
* Enables or disables the serving of resources that are symbolic links.
*
* @param allowLinking true if resources that are symbolic links are
* to be served, false otherwise
*/
public void setAllowLinking(boolean allowLinking) {
this.allowLinking = allowLinking;
}
/**
* Checks if resources that are symbolic links will be served.
*
* @return true if resources that are symbolic links will be served,
* false otherwise
*/
public boolean isAllowLinking() {
return allowLinking;
}
/**
* Sets the comma-separated list of regular expression patterns that
* the remote client's IP address is compared to.
*
* <p>If this property is specified, the remote address must match for
* this request to be accepted. If this property is not specified,
* all requests are accepted unless the remote address matches a
* <tt>denyRemoteAddress</tt> pattern.
*
* @param allowRemoteAddress the comma-separated list of regular
* expression patterns that the remote client's IP address is compared
* to
*/
public void setAllowRemoteAddress(String allowRemoteAddress) {
this.allowRemoteAddress = allowRemoteAddress;
}
/**
* Gets the comma-separated list of regular expression patterns that
* the remote client's IP address is compared to.
*
* @return the comma-separated list of regular expression patterns that
* the remote client's IP address is compared to, or <tt>null</tt>
* if <tt>setAllowRemoteAddress</tt> was never called on this
* <tt>VirtualServerConfig</tt>
*/
public String getAllowRemoteAddress() {
return allowRemoteAddress;
}
/**
* Sets the comma-separated list of regular expression patterns that
* the remote client's IP address is compared to.
*
* <p>If this property is specified, the remote address must not match
* for this request to be accepted. If this property is not specified,
* request acceptance is governed solely by the allowRemoteAddress
* property.
*
* @param denyRemoteAddress the comma-separated list of regular
* expression patterns that the remote client's IP address is
* compared to
*/
public void setDenyRemoteAddress(String denyRemoteAddress) {
this.denyRemoteAddress = denyRemoteAddress;
}
/**
* Gets the comma-separated list of regular expression patterns that
* the remote client's IP address is compared to.
*
* @return the comma-separated list of regular expression patterns that
* the remote client's IP address is compared to, or <tt>null</tt>
* if <tt>setDenyRemoteAddress</tt> was never called on this
* <tt>VirtualServerConfig</tt>
*/
public String getDenyRemoteAddress() {
return denyRemoteAddress;
}
/**
* Sets the comma-separated list of regular expression patterns
* that the remote client's hostname (as returned by
* java.net.Socket.getInetAddress().getHostName()) is compared to.
*
* <p>If this property is specified, the remote hostname must match
* for this request to be accepted. If this property is not specified,
* all requests are accepted unless the remote hostname matches a
* <tt>denyRemoteHost</tt> pattern.
*
* @param allowRemoteHost the comma-separated list of regular
* expression patterns that the remote client's hostname (as returned
* by java.net.Socket.getInetAddress().getHostName()) is compared to
*/
public void setAllowRemoteHost(String allowRemoteHost) {
this.allowRemoteHost = allowRemoteHost;
}
/**
* Gets the comma-separated list of regular expression patterns
* that the remote client's hostname (as returned by
* java.net.Socket.getInetAddress().getHostName()) is compared to.
*
* @return the comma-separated list of regular expression patterns
* that the remote client's hostname (as returned by
* java.net.Socket.getInetAddress().getHostName()) is compared to,
* or <tt>null</tt> if <tt>setAllowRemoteHost</tt> was never called
* on this <tt>VirtualServerConfig</tt>
*/
public String getAllowRemoteHost() {
return allowRemoteHost;
}
/**
* Sets the comma-separated list of regular expression patterns that
* the remote client's hostname (as returned by
* java.net.Socket.getInetAddress().getHostName()) is compared to.
*
* <p>If this property is specified, the remote hostname must not
* match for this request to be accepted. If this property is not
* specified, request acceptance is governed solely by the
* <tt>allowRemoteHost</tt> property.
*
* @param denyRemoteHost the comma-separated list of regular
* expression patterns that the remote client's hostname
* (as returned by java.net.Socket.getInetAddress().getHostName())
* is compared to
*/
public void setDenyRemoteHost(String denyRemoteHost) {
this.denyRemoteHost = denyRemoteHost;
}
/**
* Gets the comma-separated list of regular expression patterns that
* the remote client's hostname (as returned by
* java.net.Socket.getInetAddress().getHostName()) is compared to.
*
* @return the comma-separated list of regular expression patterns that
* the remote client's hostname (as returned by
* java.net.Socket.getInetAddress().getHostName()) is compared to,
* or <tt>null</tt> if <tt>setDenyRemoteHost</tt> was never called
* on this <tt>VirtualServerConfig</tt>
*/
public String getDenyRemoteHost() {
return denyRemoteHost;
}
/**
* Sets the host names that will be assigned to any
* <tt>VirtualServer</tt> configured via this
* <tt>VirtualServerConfig</tt> separated by commas.
*
* @param hostNames the host names
*/
public void setHostNames(String hostNames) {
this.hostNames = hostNames;
}
/**
* Gets the host names assigned to any <tt>VirtualServer</tt> configured
* via this <tt>VirtualServerConfig</tt>.
*
* @return the host names
*/
public String getHostNames() {
return hostNames;
}
}