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

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).

The newest version!
/*
 * 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();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy