package net.sf.jasperreports.engine.fill;

import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
import net.sf.jasperreports.engine.JRBox;
import net.sf.jasperreports.engine.JRLineBox;
import net.sf.jasperreports.engine.JRPrintElement;
import net.sf.jasperreports.engine.JRPrintElementContainer;
import net.sf.jasperreports.engine.JRPrintFrame;
import net.sf.jasperreports.engine.util.LineBoxWrapper;

public class JRTemplatePrintFrame extends JRTemplatePrintElement implements JRPrintFrame, JRPrintElementContainer {
  private static final long serialVersionUID = 10200L;
  
  private List elements;
  
  protected JRTemplatePrintFrame(JRTemplateFrame templateFrame) {
    super(templateFrame);
    this.elements = new ArrayList();
  }
  
  public List getElements() {
    return this.elements;
  }
  
  public void addElement(JRPrintElement element) {
    this.elements.add(element);
  }
  
  public JRBox getBox() {
    return (JRBox)new LineBoxWrapper(getLineBox());
  }
  
  public JRLineBox getLineBox() {
    return ((JRTemplateFrame)this.template).getLineBox();
  }
  
  public byte getBorder() {
    return getBox().getBorder();
  }
  
  public Byte getOwnBorder() {
    return getBox().getOwnBorder();
  }
  
  public void setBorder(byte border) {
    getBox().setBorder(border);
  }
  
  public void setBorder(Byte border) {
    getBox().setBorder(border);
  }
  
  public Color getBorderColor() {
    return getBox().getBorderColor();
  }
  
  public Color getOwnBorderColor() {
    return getBox().getOwnBorderColor();
  }
  
  public void setBorderColor(Color borderColor) {
    getBox().setBorderColor(borderColor);
  }
  
  public int getPadding() {
    return getBox().getPadding();
  }
  
  public Integer getOwnPadding() {
    return getBox().getOwnPadding();
  }
  
  public void setPadding(int padding) {
    getBox().setPadding(padding);
  }
  
  public void setPadding(Integer padding) {
    getBox().setPadding(padding);
  }
  
  public byte getTopBorder() {
    return getBox().getTopBorder();
  }
  
  public Byte getOwnTopBorder() {
    return getBox().getOwnTopBorder();
  }
  
  public void setTopBorder(byte topBorder) {
    getBox().setTopBorder(topBorder);
  }
  
  public void setTopBorder(Byte topBorder) {
    getBox().setTopBorder(topBorder);
  }
  
  public Color getTopBorderColor() {
    return getBox().getTopBorderColor();
  }
  
  public Color getOwnTopBorderColor() {
    return getBox().getOwnTopBorderColor();
  }
  
  public void setTopBorderColor(Color topBorderColor) {
    getBox().setTopBorderColor(topBorderColor);
  }
  
  public int getTopPadding() {
    return getBox().getTopPadding();
  }
  
  public Integer getOwnTopPadding() {
    return getBox().getOwnTopPadding();
  }
  
  public void setTopPadding(int topPadding) {
    getBox().setTopPadding(topPadding);
  }
  
  public void setTopPadding(Integer topPadding) {
    getBox().setTopPadding(topPadding);
  }
  
  public byte getLeftBorder() {
    return getBox().getLeftBorder();
  }
  
  public Byte getOwnLeftBorder() {
    return getBox().getOwnLeftBorder();
  }
  
  public void setLeftBorder(byte leftBorder) {
    getBox().setLeftBorder(leftBorder);
  }
  
  public void setLeftBorder(Byte leftBorder) {
    getBox().setLeftBorder(leftBorder);
  }
  
  public Color getLeftBorderColor() {
    return getBox().getLeftBorderColor();
  }
  
  public Color getOwnLeftBorderColor() {
    return getBox().getOwnLeftBorderColor();
  }
  
  public void setLeftBorderColor(Color leftBorderColor) {
    getBox().setLeftBorderColor(leftBorderColor);
  }
  
  public int getLeftPadding() {
    return getBox().getLeftPadding();
  }
  
  public Integer getOwnLeftPadding() {
    return getBox().getOwnLeftPadding();
  }
  
  public void setLeftPadding(int leftPadding) {
    getBox().setLeftPadding(leftPadding);
  }
  
  public void setLeftPadding(Integer leftPadding) {
    getBox().setLeftPadding(leftPadding);
  }
  
  public byte getBottomBorder() {
    return getBox().getBottomBorder();
  }
  
  public Byte getOwnBottomBorder() {
    return getBox().getOwnBottomBorder();
  }
  
  public void setBottomBorder(byte bottomBorder) {
    getBox().setBottomBorder(bottomBorder);
  }
  
  public void setBottomBorder(Byte bottomBorder) {
    getBox().setBottomBorder(bottomBorder);
  }
  
  public Color getBottomBorderColor() {
    return getBox().getBottomBorderColor();
  }
  
  public Color getOwnBottomBorderColor() {
    return getBox().getOwnBottomBorderColor();
  }
  
  public void setBottomBorderColor(Color bottomBorderColor) {
    getBox().setBottomBorderColor(bottomBorderColor);
  }
  
  public int getBottomPadding() {
    return getBox().getBottomPadding();
  }
  
  public Integer getOwnBottomPadding() {
    return getBox().getOwnBottomPadding();
  }
  
  public void setBottomPadding(int bottomPadding) {
    getBox().setBottomPadding(bottomPadding);
  }
  
  public void setBottomPadding(Integer bottomPadding) {
    getBox().setBottomPadding(bottomPadding);
  }
  
  public byte getRightBorder() {
    return getBox().getRightBorder();
  }
  
  public Byte getOwnRightBorder() {
    return getBox().getOwnRightBorder();
  }
  
  public void setRightBorder(byte rightBorder) {
    getBox().setRightBorder(rightBorder);
  }
  
  public void setRightBorder(Byte rightBorder) {
    getBox().setRightBorder(rightBorder);
  }
  
  public Color getRightBorderColor() {
    return getBox().getRightBorderColor();
  }
  
  public Color getOwnRightBorderColor() {
    return getBox().getOwnRightBorderColor();
  }
  
  public void setRightBorderColor(Color rightBorderColor) {
    getBox().setRightBorderColor(rightBorderColor);
  }
  
  public int getRightPadding() {
    return getBox().getRightPadding();
  }
  
  public Integer getOwnRightPadding() {
    return getBox().getOwnRightPadding();
  }
  
  public void setRightPadding(int rightPadding) {
    getBox().setRightPadding(rightPadding);
  }
  
  public void setRightPadding(Integer rightPadding) {
    getBox().setRightPadding(rightPadding);
  }
  
  public Color getDefaultLineColor() {
    return getForecolor();
  }
}
