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

What this is

This file 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.

Other links

The source code

// $Header: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/ParamMask.java,v 1.8 2004/02/12 00:29:49 sebb Exp $
/*
 * Copyright 2001-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.
 * 
*/

package org.apache.jmeter.protocol.http.modifier;

import java.io.Serializable;

import org.apache.jmeter.testelement.AbstractTestElement;
import org.apache.jmeter.testelement.property.LongProperty;

/**
 * This object defines with what a parameter has its value replaced, and the
 * policies for how that value changes. Used in {@link ParamModifier}.
 *
 * @author  David La France
 * @author  Scott Eade
 * @version $Revision: 1.8 $ updated on $Date: 2004/02/12 00:29:49 $
 */
public class ParamMask extends AbstractTestElement implements Serializable
{
    private String PREFIX = "ParamModifier.prefix";
    private String FIELD_NAME = "ParamModifier.field_name";
    private String UPPER_BOUND = "ParamModifier.upper_bound";
    private String LOWER_BOUND = "ParamModifier.lower_bound";
    private String INCREMENT = "ParamModifier.increment";
    private String SUFFIX = "ParamModifier.suffix";

    private long _value = 0;

    /**
     * Default constructor.
     */
    public ParamMask()
    {
        setFieldName("");
        setPrefix("");
        setLowerBound(0);
        setUpperBound(0);
        setIncrement(0);
        setSuffix("");
    }

    /**
     * Sets the prefix for the long value. The prefix, the value
     * and the suffix are concatenated to give the parameter value. This allows
     * a wider range of posibilities for the parameter values.
     *
     * @param  prefix  a string to prefix to the parameter value
     */
    public void setPrefix(String prefix)
    {
        setProperty(PREFIX, prefix);
    }

    /**
     * Set the current value of the long portion of the parameter
     * value to replace. This is usually not used, as the method
     * {@link #resetValue} is used to define a policy for the starting value.
     *
     * @param  val  the new parameter value
     */
    public void setValue(long val)
    {
        _value = val;
    }

    public void setFieldName(String fieldName)
    {
        setProperty(FIELD_NAME, fieldName);
    }

    /**
     * Sets the lowest possible value that the long portion of the
     * parameter value may be.
     *
     * @param  val  the new lowest possible parameter value
     */
    public void setLowerBound(long val)
    {
        setProperty(new LongProperty(LOWER_BOUND, val));
    }

    /**
     * Sets the highest possible value that the long portion of the
     * parameter value may be.
     *
     * @param  val  the new highest possible parameter value
     */
    public void setUpperBound(long val)
    {
        setProperty(new LongProperty(UPPER_BOUND, val));
    }

    /**
     * Sets the number by which the parameter value is incremented between
     * loops.
     *
     * @param  incr  the new increment for the parameter value
     */
    public void setIncrement(long incr)
    {
        setProperty(new LongProperty(INCREMENT, incr));
    }

    /**
     * Sets the suffix for the long value. The prefix, the value
     * and the suffix are concatenated to give the parameter value. This allows
     * a wider range of posibilities for the parameter values.
     *
     * @param  suffix  a string to suffix to the parameter value
     */
    public void setSuffix(String suffix)
    {
        setProperty(SUFFIX, suffix);
    }

    /**
     * Accessor method to return the String that will be prefixed
     * to the long value.
     *
     * @return    the parameter value prefix
     */
    public String getPrefix()
    {
        return getPropertyAsString(PREFIX);
    }

    /**
     * Accessor method, returns the lowest possible value that the
     * long portion of the parameter value may be.
     *
     * @return    the lower bound of the possible values
     */
    public long getLowerBound()
    {
        return getPropertyAsLong(LOWER_BOUND);
    }

    /**
     * Accessor method, returns the highest possible value that the
     * long portion of the parameter value may be.
     *
     * @return    the higher bound of the possible values
     */
    public long getUpperBound()
    {
        return getPropertyAsLong(UPPER_BOUND);
    }

    /**
     * Accessor method, returns the number by which the parameter value is
     * incremented between loops.
     *
     * @return    the increment
     */
    public long getIncrement()
    {
        return getPropertyAsLong(INCREMENT);
    }

    /**
     * Accessor method to return the String that will be suffixed
     * to the long value.
     *
     * @return    the parameter value suffix
     */
    public String getSuffix()
    {
        return getPropertyAsString(SUFFIX);
    }

    /*
     *  -----------------------------------------------------------------------
     *  Methods
     *  -----------------------------------------------------------------------
     */

    /**
     *  Returns the current value, prefixed and suffixed, as a string, then
     *  increments it. If the incremented value is above the upper bound, the
     *  value is reset to the lower bound. 
*

* This method determines the policy of what happens when an upper bound is * reached/surpassed. * * @return a String representing the current long * value */ public String getNextValue() { // return the current value (don't forget the prefix!) String retval = getPrefix() + Long.toString(_value) + getSuffix(); // increment the value _value += getIncrement(); if (_value > getUpperBound()) { _value = getLowerBound(); } return retval; } /** * This method determines the policy of what value to start (and re-start) * at. */ public void resetValue() { _value = getLowerBound(); } public String getFieldName() { return getPropertyAsString(FIELD_NAME); } /** * For debugging purposes. * * @return a String representing the object */ public String toString() { StringBuffer sb = new StringBuffer(); sb.append("-------------------------------\n"); sb.append("Dumping ParamMask Object\n"); sb.append("-------------------------------\n"); sb.append("Name = " + getFieldName() + "\n"); sb.append("Prefix = " + getPrefix() + "\n"); sb.append("Current Value = " + _value + "\n"); sb.append("Lower Bound = " + getLowerBound() + "\n"); sb.append("Upper Bound = " + getUpperBound() + "\n"); sb.append("Increment = " + getIncrement() + "\n"); sb.append("Suffix = " + getSuffix() + "\n"); sb.append("-------------------------------\n"); return sb.toString(); } }

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