/* Title:		ObjectMeta.java
 * Version	
 * Author		Sada
 * Company: USDA-ARS
 * Date:    July, 2003
 * Description: Super class for OperationMeta and CropMeta.
 * 
 */
package usda.weru.mcrew;

import org.w3c.dom.*;

/**
 * This is an abstract class whose implementation can be seen in the CropMeta and the
 * OperationMeta. This basically is responsible for the meta data associated with the
 * objects whose roles are being defined & implemented.
 */
public class ObjectMeta
{
    /**
     * Name of the object which is being referred e:g maybe operation or crop
     */    
	public String mObjectName;
	
    /**
     * Default constructor for this abstract class.
     */    
	public ObjectMeta()
	{
		//System.out.println("ObjectMeta - default constructor called" + " @ObjectMeta:ObjectMeta()");
	}
	
    /**
     * Basically this method just initializes the data for the child object being
     * implemented such as operation and/or crop objects.
     * @param pNode The node whose data is supposed to be initialised.
     */    
	public void initialize(Node pNode)
	{
		//System.out.println("This class is dummy--Call initialize of OperationMeta or CropMeta" + " @ObjectMeta:ObjectMeta()");
	}
	
    /**
     * Any changes in the node meta data are being updated and stored in the datastructure
     * through this method.
     * @param pNode The node whose meta data needs to be updated.
     */    
	public void update(Node pNode)
	{
		//System.out.println("This class is dummy -- Call improve of OperationMeta or CropMeta" + " @ObjectMeta:ObjectMeta()");
	}
	
    /**
     * This method fetches the action meta object associated with identity .. pIdentity.
     * @param pIdentity The key or identifier for the meta data associated with the action object.
     * @return  The meta object for the action.
     */    
	public ActionMeta getActionMeta(Identity pIdentity)
	{
		//System.out.println("This class is dummy -- Call getActionMeta() of OperationMeta or CropMeta" + " @ObjectMeta:ObjectMeta()");
		return null;
	}
	
    /**
     * This method fetches the value of a parameter pParamName with value name pValueName.
     * @param pParamName The paramenter name whose value is requested.
     * @param pValueName The parameter value name whose data is being requested.
     * @return The value of the valueName associated with parameter pParamName
     */    
	public String getValue(String pParamName, String pValueName)
	{
		//System.out.println("This class is dummy -- Call getValue() of OperationMeta or CropMeta" + " @ObjectMeta:ObjectMeta()");
		return null;
	}
}