package net.sf.jasperreports.engine;

public interface JRReport extends JRDefaultFontProvider, JRDefaultStyleProvider, JRPropertiesHolder {
  public static final String LANGUAGE_JAVA = "java";
  
  public static final String LANGUAGE_GROOVY = "groovy";
  
  public static final byte PRINT_ORDER_VERTICAL = 1;
  
  public static final byte PRINT_ORDER_HORIZONTAL = 2;
  
  public static final byte ORIENTATION_PORTRAIT = 1;
  
  public static final byte ORIENTATION_LANDSCAPE = 2;
  
  public static final byte WHEN_NO_DATA_TYPE_NO_PAGES = 1;
  
  public static final byte WHEN_NO_DATA_TYPE_BLANK_PAGE = 2;
  
  public static final byte WHEN_NO_DATA_TYPE_ALL_SECTIONS_NO_DETAIL = 3;
  
  public static final byte WHEN_NO_DATA_TYPE_NO_DATA_SECTION = 4;
  
  public static final byte WHEN_RESOURCE_MISSING_TYPE_NULL = 1;
  
  public static final byte WHEN_RESOURCE_MISSING_TYPE_EMPTY = 2;
  
  public static final byte WHEN_RESOURCE_MISSING_TYPE_KEY = 3;
  
  public static final byte WHEN_RESOURCE_MISSING_TYPE_ERROR = 4;
  
  String getName();
  
  String getLanguage();
  
  int getColumnCount();
  
  byte getPrintOrder();
  
  int getPageWidth();
  
  int getPageHeight();
  
  byte getOrientation();
  
  byte getWhenNoDataType();
  
  void setWhenNoDataType(byte paramByte);
  
  int getColumnWidth();
  
  int getColumnSpacing();
  
  int getLeftMargin();
  
  int getRightMargin();
  
  int getTopMargin();
  
  int getBottomMargin();
  
  boolean isTitleNewPage();
  
  boolean isSummaryNewPage();
  
  boolean isFloatColumnFooter();
  
  String getScriptletClass();
  
  String getFormatFactoryClass();
  
  String getResourceBundle();
  
  String[] getPropertyNames();
  
  String getProperty(String paramString);
  
  void setProperty(String paramString1, String paramString2);
  
  void removeProperty(String paramString);
  
  String[] getImports();
  
  JRReportFont[] getFonts();
  
  JRStyle[] getStyles();
  
  JRParameter[] getParameters();
  
  JRQuery getQuery();
  
  JRField[] getFields();
  
  JRSortField[] getSortFields();
  
  JRVariable[] getVariables();
  
  JRGroup[] getGroups();
  
  JRBand getBackground();
  
  JRBand getTitle();
  
  JRBand getPageHeader();
  
  JRBand getColumnHeader();
  
  JRBand getDetail();
  
  JRBand getColumnFooter();
  
  JRBand getPageFooter();
  
  JRBand getLastPageFooter();
  
  JRBand getSummary();
  
  JRBand getNoData();
  
  byte getWhenResourceMissingType();
  
  void setWhenResourceMissingType(byte paramByte);
  
  JRDataset getMainDataset();
  
  JRDataset[] getDatasets();
  
  boolean isIgnorePagination();
  
  JRReportTemplate[] getTemplates();
}
