com.canoo.webtest.steps.store.BaseStoreStep.java Source code

Java tutorial

Introduction

Here is the source code for com.canoo.webtest.steps.store.BaseStoreStep.java

Source

// Copyright  2004-2005 ASERT.
// Parts Copyright  2005 Canoo Engineering AG, Switzerland.
// Released under the Canoo Webtest license.
package com.canoo.webtest.steps.store;

import org.apache.commons.lang.StringUtils;

import com.canoo.webtest.interfaces.IComputeValue;
import com.canoo.webtest.steps.Step;

/**
 * Base store step offering common functionalities for concrete implemetations
 * Either ant or dynamic properties are supported. The property can
 * be checked subsequently with \"verifyProperty\".
 *
 * @author Marc Guillemot
 */
public abstract class BaseStoreStep extends Step implements IComputeValue {
    private String fPropertyName;
    private String fPropertyType;
    private String fComputedValue;

    /**
     * Sets the Name of the Property.<p>
     *
     * @param name The Property Name
     * @webtest.parameter required="no"
     * description="The name of the property in which to store the retrieved value."
     */
    public void setProperty(final String name) {
        fPropertyName = name;
    }

    public String getProperty() {
        return fPropertyName;
    }

    /**
     * Sets the Type of the Property.<p>
     *
     * @param type The Property type
     * @webtest.parameter required="no"
     * description="The type of the property in which to store the retrieve value. 
     * Either \"ant\" or \"dynamic\"."
     * default="the \"defaultPropertyType\" as specified in the \"config\" element is used."
     */
    public void setPropertyType(final String type) {
        fPropertyType = type;
    }

    public String getPropertyType() {
        return fPropertyType;
    }

    /**
     * Stores the property value
     * @param value the value to store
     * @param defaultName the name to use to store the property if no
     * property name is configured
     */
    protected void storeProperty(final String value, final String defaultName) {
        fComputedValue = value;
        final String propertyName = StringUtils.defaultIfEmpty(getProperty(), defaultName);
        setWebtestProperty(propertyName, value, getPropertyType());
    }

    /**
     * Stores the property value
     * @param value the value to store
     */
    protected void storeProperty(final String value) {
        fComputedValue = value;
        setWebtestProperty(getProperty(), value, getPropertyType());
    }

    public String getComputedValue() {
        return fComputedValue;
    }

    public boolean isPerformingAction() {
        return false;
    }
}