package net.sf.jasperreports.engine;

import java.awt.Color;

public interface JRElement extends JRChild, JRCommonElement, JRPropertiesHolder {
  public static final byte POSITION_TYPE_FLOAT = 1;
  
  public static final byte POSITION_TYPE_FIX_RELATIVE_TO_TOP = 2;
  
  public static final byte POSITION_TYPE_FIX_RELATIVE_TO_BOTTOM = 3;
  
  public static final byte MODE_OPAQUE = 1;
  
  public static final byte MODE_TRANSPARENT = 2;
  
  public static final byte STRETCH_TYPE_NO_STRETCH = 0;
  
  public static final byte STRETCH_TYPE_RELATIVE_TO_TALLEST_OBJECT = 1;
  
  public static final byte STRETCH_TYPE_RELATIVE_TO_BAND_HEIGHT = 2;
  
  String getKey();
  
  byte getPositionType();
  
  void setPositionType(byte paramByte);
  
  byte getStretchType();
  
  void setStretchType(byte paramByte);
  
  boolean isPrintRepeatedValues();
  
  void setPrintRepeatedValues(boolean paramBoolean);
  
  void setMode(byte paramByte);
  
  void setMode(Byte paramByte);
  
  int getX();
  
  void setX(int paramInt);
  
  int getY();
  
  int getWidth();
  
  void setWidth(int paramInt);
  
  int getHeight();
  
  boolean isRemoveLineWhenBlank();
  
  void setRemoveLineWhenBlank(boolean paramBoolean);
  
  boolean isPrintInFirstWholeBand();
  
  void setPrintInFirstWholeBand(boolean paramBoolean);
  
  boolean isPrintWhenDetailOverflows();
  
  void setPrintWhenDetailOverflows(boolean paramBoolean);
  
  void setForecolor(Color paramColor);
  
  void setBackcolor(Color paramColor);
  
  JRExpression getPrintWhenExpression();
  
  JRGroup getPrintWhenGroupChanges();
  
  JRElementGroup getElementGroup();
  
  void collectExpressions(JRExpressionCollector paramJRExpressionCollector);
  
  JRPropertyExpression[] getPropertyExpressions();
}
