org.wildfly.security.http.HttpServerCookie Maven / Gradle / Ivy
Go to download
This artifact provides a single jar that contains all classes required to use remote EJB and JMS, including
all dependencies. It is intended for use by those not using maven, maven users should just import the EJB and
JMS BOM's instead (shaded JAR's cause lots of problems with maven, as it is very easy to inadvertently end up
with different versions on classes on the class path).
/*
* JBoss, Home of Professional Open Source.
* Copyright 2016 Red Hat, Inc., and individual contributors
* as indicated by the @author tags.
*
* 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.
*/
package org.wildfly.security.http;
/**
* Server side representation of a HTTP Cookie.
*
* @author Pedro Igor
*/
public interface HttpServerCookie {
/**
* Returns a new instance representing HttpServerCookie
*
* @param name the name of the cookie
* @param value the current value of this cookie
* @param domain the domain name of this cookie
* @param maxAge specifying the maximum age of the cookie in seconds
* @param path a String
specifying a path on the server
* @param secure true
if the browser uses a secure protocol, false
otherwise
* @param version the version of the protocol this cookie complies with
* @param httpOnly true if this cookie has been marked as HttpOnly, false otherwise
* @return a new instance representing HttpServerCookie
*/
static HttpServerCookie getInstance(String name, String value, String domain, int maxAge, String path, boolean secure, int version, boolean httpOnly) {
return new HttpServerCookie() {
@Override
public String getName() {
return name;
}
@Override
public String getValue() {
return value;
}
@Override
public String getDomain() {
return domain;
}
@Override
public int getMaxAge() {
return maxAge;
}
@Override
public String getPath() {
return path;
}
@Override
public boolean isSecure() {
return secure;
}
@Override
public int getVersion() {
return version;
}
@Override
public boolean isHttpOnly() {
return httpOnly;
}
};
}
/**
* Returns the name of the cookie.
*
* @return the name of the cookie
*/
String getName();
/**
* Returns the current value of this cookie.
*
* @return the current value of this cookie
*/
String getValue();
/**
* Gets the domain name of this cookie.
*
* @return the domain name of this cookie
*/
String getDomain();
/**
* Gets the maximum age in seconds of this Cookie.
*
* @return an integer specifying the maximum age of the cookie in seconds
*/
int getMaxAge();
/**
* Returns the path on the server to which the browser returns this cookie.
*
* @return a String
specifying a path on the server
*/
String getPath();
/**
* Returns true
if the browser is sending cookies only over a secure protocol, or false
if the
* browser can send cookies using any protocol.
*
* @return true
if the browser uses a secure protocol, false
otherwise
*/
boolean isSecure();
/**
* Returns the version of the protocol this cookie complies with.
*
* @return the version of the protocol this cookie complies with.
*/
int getVersion();
/**
* Checks whether this cookie has been marked as HttpOnly.
*
* @return true if this cookie has been marked as HttpOnly, false otherwise
*/
boolean isHttpOnly();
}