alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

JMeter example source code file (Cookie.java)

This example JMeter source code file (Cookie.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - JMeter tags/keywords

booleanproperty, cookie, cookie, default_version, default_version, domain_specified, io, non-nls-1, non-nls-1, serializable, string, string, stringbuilder, true, version

The JMeter Cookie.java source code

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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.apache.jmeter.protocol.http.control;

import java.io.Serializable;

import org.apache.jmeter.config.ConfigElement;
import org.apache.jmeter.testelement.AbstractTestElement;
import org.apache.jmeter.testelement.property.BooleanProperty;
import org.apache.jmeter.testelement.property.LongProperty;
import org.apache.jorphan.util.JOrphanUtils;

/**
 * This class is a Cookie encapsulator.
 *
 */
public class Cookie extends AbstractTestElement implements Serializable {
    private static final long serialVersionUID = 240L;

    private static final String TAB = "\t";

    private static final String VALUE = "Cookie.value"; //$NON-NLS-1$

    private static final String DOMAIN = "Cookie.domain"; //$NON-NLS-1$

    private static final String EXPIRES = "Cookie.expires"; //$NON-NLS-1$

    private static final String SECURE = "Cookie.secure"; //$NON-NLS-1$

    private static final String PATH = "Cookie.path"; //$NON-NLS-1$

    private static final String PATH_SPECIFIED = "Cookie.path_specified"; //$NON-NLS-1$

    private static final String DOMAIN_SPECIFIED = "Cookie.domain_specified"; //$NON-NLS-1$

    private static final String VERSION = "Cookie.version"; //$NON-NLS-1$

    private static final int DEFAULT_VERSION = 1;

    /**
     * create the coookie
     */
    public Cookie() {
        this("","","","",false,0,false,false);
    }

    /**
     * create the coookie
     *
     * @param expires - this is in seconds
     *
     */
    public Cookie(String name, String value, String domain, String path, boolean secure, long expires) {
        this(name,value,domain,path,secure,expires,true,true);
    }

    /**
     * create the coookie
     *
     * @param expires - this is in seconds
     * @param hasPath - was the path explicitly specified?
     * @param hasDomain - was the domain explicitly specified?
     *
     */
    public Cookie(String name, String value, String domain, String path,
            boolean secure, long expires, boolean hasPath, boolean hasDomain) {
        this(name, value, domain, path, secure, expires, hasPath, hasDomain, DEFAULT_VERSION);
    }

    /**
     * Create a JMeter Cookie.
     * 
     * @param name
     * @param value
     * @param domain
     * @param path
     * @param secure
     * @param expires - this is in seconds
     * @param hasPath - was the path explicitly specified?
     * @param hasDomain - was the domain explicitly specified?
     * @param version - cookie spec. version
     */
    public Cookie(String name, String value, String domain, String path,
            boolean secure, long expires, boolean hasPath, boolean hasDomain, int version) {
        this.setName(name);
        this.setValue(value);
        this.setDomain(domain);
        this.setPath(path);
        this.setSecure(secure);
        this.setExpires(expires);
        this.setPathSpecified(hasPath);
        this.setDomainSpecified(hasDomain);
        this.setVersion(version);
    }

    public void addConfigElement(ConfigElement config) {
    }

    /**
     * get the value for this object.
     */
    public synchronized String getValue() {
        return getPropertyAsString(VALUE);
    }

    /**
     * set the value for this object.
     */
    public synchronized void setValue(String value) {
        this.setProperty(VALUE, value);
    }

    /**
     * get the domain for this object.
     */
    public synchronized String getDomain() {
        return getPropertyAsString(DOMAIN);
    }

    /**
     * set the domain for this object.
     */
    public synchronized void setDomain(String domain) {
        setProperty(DOMAIN, domain);
    }

    /**
     * get the expiry time for the cookie
     *
     * @return Expiry time in seconds since the Java epoch
     */
    public synchronized long getExpires() {
        return getPropertyAsLong(EXPIRES);
    }

    /**
     * get the expiry time for the cookie
     *
     * @return Expiry time in milli-seconds since the Java epoch,
     * i.e. same as System.currentTimeMillis()
     */
    public synchronized long getExpiresMillis() {
        return getPropertyAsLong(EXPIRES)*1000;
    }

    /**
     * set the expiry time for the cookie
     * @param expires - expiry time in seconds since the Java epoch
     */
    public synchronized void setExpires(long expires) {
        setProperty(new LongProperty(EXPIRES, expires));
    }

    /**
     * get the secure for this object.
     */
    public synchronized boolean getSecure() {
        return getPropertyAsBoolean(SECURE);
    }

    /**
     * set the secure for this object.
     */
    public synchronized void setSecure(boolean secure) {
        setProperty(new BooleanProperty(SECURE, secure));
    }

    /**
     * get the path for this object.
     */
    public synchronized String getPath() {
        return getPropertyAsString(PATH);
    }

    /**
     * set the path for this object.
     */
    public synchronized void setPath(String path) {
        setProperty(PATH, path);
    }

    public void setPathSpecified(boolean b) {
        setProperty(PATH_SPECIFIED, b);
    }

    public boolean isPathSpecified(){
        return getPropertyAsBoolean(PATH_SPECIFIED);
    }

    public void setDomainSpecified(boolean b) {
        setProperty(DOMAIN_SPECIFIED, b);
    }

    public boolean isDomainSpecified(){
        return getPropertyAsBoolean(DOMAIN_SPECIFIED);
    }

    /**
     * creates a string representation of this cookie
     */
    @Override
    public String toString() {
        StringBuilder sb=new StringBuilder(80);
        sb.append(getDomain());
        // flag - if all machines within a given domain can access the variable.
        //(from http://www.cookiecentral.com/faq/ 3.5)
        sb.append(TAB).append("TRUE");
        sb.append(TAB).append(getPath());
        sb.append(TAB).append(JOrphanUtils.booleanToSTRING(getSecure()));
        sb.append(TAB).append(getExpires());
        sb.append(TAB).append(getName());
        sb.append(TAB).append(getValue());
        return sb.toString();
    }

    /**
     * @return the version
     */
    public synchronized int getVersion() {
        return getPropertyAsInt(VERSION, DEFAULT_VERSION);
    }

    /**
     * @param version the version to set
     */
    public synchronized void setVersion(int version) {
        setProperty(VERSION, version, DEFAULT_VERSION);
    }


}

Other JMeter examples (source code examples)

Here is a short list of links related to this JMeter Cookie.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.