/*******************************************************************************
* Copyright (c) 2004, 2010 BREDEX GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* BREDEX GmbH - initial API and implementation and/or initial documentation
*******************************************************************************/
package org.eclipse.jubula.client.core.model;
import java.util.List;
import java.util.ListIterator;
/**
* Interface for objects that require Parameters.
*
* @see IParamDescriptionPO
*
* @author BREDEX GmbH
* @created Jul 13, 2010
*/
public interface IParameterInterfacePO extends IPersistentObject {
/**
* Gets the parameter with the given unique id
*
* @param uniqueId uniqueId (GUID or I18NKey) of parameter
* @return The parameter or <code>null</code>, if this node doesn't
* contain a parameter with the passed unique id
*/
public abstract IParamDescriptionPO getParameterForUniqueId(
String uniqueId);
/**
*
* @param paramName Name of Parameter to get.
* @return the Parameter Description for the given name, or
* <code>null</code> if the receiver does not have a Parameter with
* the given name.
*/
public abstract IParamDescriptionPO getParameterForName(String paramName);
/**
* @return names of parameters belonging to this node
*/
public abstract List<String> getParamNames();
/**
* @return an unmodifiable copy for further use
*/
public abstract List<IParamDescriptionPO> getParameterList();
/**
*
* @return An iterator for the list. Don't use for modification!
*/
public abstract ListIterator<IParamDescriptionPO> getParameterListIter();
/**
*
* @return Size of ParameterList to prevent calls get getParamterList()
* just to check if there are any parameters
*/
public abstract int getParameterListSize();
/**
* @return Returns the dataManager.
*/
public abstract ITDManager getDataManager();
/**
* @param dataManager The dataManager to set.
*/
public abstract void setDataManager(ITDManager dataManager);
/**
* gets the value of the m_dataFile property
*
* @return the name of the node
*/
public abstract String getDataFile();
/**
* sets the File
* @param pathToExternalDataFile
* path to file
*/
public abstract void setDataFile(String pathToExternalDataFile);
/**
*
* @return the referenced "Test Data Cube" that provides the receiver with
* test data, or <code>null</code> if no "Test Data Cube" is
* referenced.
*/
public abstract IParameterInterfacePO getReferencedDataCube();
/**
*
* @param dataCube The Data Cube to be referenced by the receiver.
*/
public abstract void setReferencedDataCube(IParameterInterfacePO dataCube);
/**
*
* @return the node that uses the receiver in order to define its parameter
* interface and test data, or <code>null</code> if the receiver is
* not used in this way.
*/
public INodePO getSpecificationUser();
}