Package com.storedobject.report
Class ObjectList<T extends StoredObject>
java.lang.Object
com.storedobject.pdf.PDF
com.storedobject.pdf.PDFReport
com.storedobject.report.ObjectList<T>
- Type Parameters:
T
- Type of objects to list (as defined in theReportDefinition
).
- All Implemented Interfaces:
Executable
,ContentProducer
,ContentType
,JSONParameter
,ObjectLister<T>
,Closeable
,AutoCloseable
,Runnable
public class ObjectList<T extends StoredObject>
extends PDFReport
implements JSONParameter, ObjectLister<T>
Generate a PDF with a list of objects. The generated output will be formatted as per the definition in the given
ReportDefinition
instance.
Note: This logic doesn't consider the filters ReportDefinition.getFilter()
while generating the
output.
- Author:
- Syam
-
Nested Class Summary
Nested classes/interfaces inherited from class com.storedobject.pdf.PDF
PDF.ObjectFormTable<T extends StoredObject>, PDF.ObjectTable<T extends StoredObject>, PDF.PDFContent, PDF.Text
-
Field Summary
FieldsFields inherited from class com.storedobject.pdf.PDF
ORIENTATION_LANDSCAPE, ORIENTATION_PORTRAIT, pageSizes
-
Constructor Summary
ConstructorsConstructorDescriptionObjectList
(Device device) ObjectList
(Device device, ReportDefinition reportDefinition) ObjectList
(Device device, Class<T> dataClass, boolean any, String... attributes) ObjectList
(Device device, Class<T> dataClass, String... attributes) ObjectList
(Device device, String reportDefinitionName) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Generate the content by writing stuff to the PDF.int
getCharCount
(Object object) protected String[]
int
Page orientation - Portrait or Landscapelong
getRowCount
(T object) protected HasContacts
Get the "title table" part of the report.void
open()
Open the PDF for creating the content.void
setErrorMessage
(String errorMessage) void
setExtraCondition
(String extraCondition) void
setLoadFilter
(Predicate<T> loadFilter) void
setParameters
(JSON json) If implemented, this method is typically invoked by the tools before aContentProducer
is asked to produce its output.Methods inherited from class com.storedobject.pdf.PDFReport
createTitleTable, createTitleTable, createTitleTable, createTitleTable, execute, execute, extractContent, getDevice, getLogo, getLogoName, getLogoPosition, getProductLogo, getProductLogoName, getTitle, getTitleText, getUser, setTitleText, view
Methods inherited from class com.storedobject.pdf.PDF
aboutToAddExternalContent, add, add, add, add, addBlankRow, addBlankRow, addBlankRow, addCentered, addContent, addContent, addContent, addContent, addContent, addContent, addContent, addContent, addContent, addContent, addGap, addHTML, addHTML, addHTML, addHTML, addHTML, addHTML, addImage, addImage, addImage, addingExternalContent, addTitles, addTitles, addTitles, addTitles, addTitles, addTitles, addToTable, addToTable, addToTable, addToTable, addToTable, addToTable, addToTable, addToTable, addToTableCentered, addToTableCentered, chainTo, close, createCell, createCell, createCell, createCell, createCell, createCell, createCell, createCell, createCenteredCell, createCenteredCell, createGraphics, createGraphics, createImage, createImage, createImage, createImage, createImage, createImage, createImage, createImage, createImage, createImageFromHTML, createImageFromHTML, createImageFromHTML, createImageFromHTML, createImageFromSVG, createImageFromSVG, createTable, createTable, createText, createText, createText, createTitleText, createTitleText, createTitleText, drawTable, drawTable, drawTable, dumpError, getBottomMargin, getContent, getContentType, getEntity, getEntityLocation, getEntityName, getFileExtension, getFileName, getFontSize, getFooter, getHeight, getLeftMargin, getPageNumber, getPageSize, getPageSize, getPageSizeIndex, getReportFormat, getReportStage, getRightMargin, getTopMargin, getTransactionManager, getWaterMark, getWidth, getY, getY, log, newPage, newReportStage, newReportStage, pageCompleted, pageStarted, printAuditTrail, printLetterHeadOnEveryPage, printLetterHeadOnEveryPage, printPageNumber, printPageNumber, printTotalPageNumber, printTotalPageNumber, produce, readContent, setDefaultCellCustomizer, setEntity, setError, setFontSize, setLanguage, setLanguage, setLogo, setLogo, setPageNumber, setPageSizeIndex, setPassword, setReportFormat, setTransactionManager, setWaterMark, showText, toCharCount
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.storedobject.core.ContentProducer
abort, getError, getStreamData, getStreamDataProvider, getSystemEntity, saveTo, saveTo, saveTo, saveTo
Methods inherited from interface com.storedobject.core.ContentType
getLink, getMimeType, isAudio, isHTML, isImage, isLink, isMedia, isPDF, isText, isVideo
Methods inherited from interface com.storedobject.common.Executable
act, run
Methods inherited from interface com.storedobject.report.ObjectLister
customizeList, customizeQueryBuilder, customizeTableHeader, getColumnCaption, getOrderBy, getReportDefinition
-
Field Details
-
reportDefinition
-
row
protected long row
-
-
Constructor Details
-
ObjectList
-
ObjectList
-
ObjectList
-
ObjectList
-
ObjectList
-
ObjectList
-
ObjectList
-
-
Method Details
-
setParameters
Description copied from interface:JSONParameter
If implemented, this method is typically invoked by the tools before aContentProducer
is asked to produce its output. It can extract its required parameter values from theJSON
structure.- Specified by:
setParameters
in interfaceJSONParameter
- Parameters:
json
-JSON
containing parameter values.
-
open
-
getTitleTable
Description copied from class:PDFReport
Get the "title table" part of the report. It builds a
PDFTable
from the "title text" part returned by thePDFReport.getTitleText()
method. ThePDFReport.getTitle()
method uses the return value of this to build the "title" part of the report.Typically, you may override this method and return one of the createTitleTable methods
Example:
public PDFTable getTitleTable() { return createTitleTable("Stock Report", "Dated: Nov 15, 2021", "Store: Main Store"); }
- Overrides:
getTitleTable
in classPDFReport
- Returns:
- "Title table" part of the report.
-
getTitleEntity
-
getExtraCaptions
-
getPageOrientation
public int getPageOrientation()Description copied from class:PDF
Page orientation - Portrait or Landscape- Overrides:
getPageOrientation
in classPDF
- Returns:
- ORIENTATION_PORTRAIT or ORIENTATION_LANDSCAPE. Default is ORIENTATION_PORTRAIT
-
generateContent
Description copied from class:PDF
Generate the content by writing stuff to the PDF.- Specified by:
generateContent
in classPDF
- Throws:
Exception
- Any exception.
-
getHeaderCellCustomizer
-
getBodyCellCustomizer
-
setExtraCondition
- Specified by:
setExtraCondition
in interfaceObjectLister<T extends StoredObject>
-
getExtraCondition
- Specified by:
getExtraCondition
in interfaceObjectLister<T extends StoredObject>
-
setLoadFilter
-
getLoadFilter
- Specified by:
getLoadFilter
in interfaceObjectLister<T extends StoredObject>
-
getRowCount
-
getReportDefinition
- Specified by:
getReportDefinition
in interfaceObjectLister<T extends StoredObject>
-
getCharCount
- Specified by:
getCharCount
in interfaceObjectLister<T extends StoredObject>
-
setErrorMessage
- Specified by:
setErrorMessage
in interfaceObjectLister<T extends StoredObject>
-