package net.sf.jasperreports.engine.fill;

import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRParameter;
import net.sf.jasperreports.engine.JRPropertiesHolder;
import net.sf.jasperreports.engine.JRPropertiesMap;
import net.sf.jasperreports.engine.JRValueParameter;

public class JRFillParameter implements JRValueParameter {
  protected JRParameter parent = null;
  
  private Object value = null;
  
  protected JRFillParameter(JRParameter parameter, JRFillObjectFactory factory) {
    factory.put(parameter, this);
    this.parent = parameter;
  }
  
  public String getName() {
    return this.parent.getName();
  }
  
  public String getDescription() {
    return this.parent.getDescription();
  }
  
  public void setDescription(String description) {}
  
  public Class getValueClass() {
    return this.parent.getValueClass();
  }
  
  public String getValueClassName() {
    return this.parent.getValueClassName();
  }
  
  public boolean isSystemDefined() {
    return this.parent.isSystemDefined();
  }
  
  public boolean isForPrompting() {
    return this.parent.isForPrompting();
  }
  
  public JRExpression getDefaultValueExpression() {
    return this.parent.getDefaultValueExpression();
  }
  
  public Object getValue() {
    return this.value;
  }
  
  public void setValue(Object value) {
    this.value = value;
  }
  
  public boolean hasProperties() {
    return this.parent.hasProperties();
  }
  
  public JRPropertiesMap getPropertiesMap() {
    return this.parent.getPropertiesMap();
  }
  
  public JRPropertiesHolder getParentProperties() {
    return null;
  }
  
  public Object clone() {
    return null;
  }
}
