Java API:Document Management
From AgileApps Support Wiki
Revision as of 02:59, 24 September 2013 by imported>Aeric
The Document Management Java APIs are used to generate and manage documents.
Access Documents
- getDocument(String id)
- Get a document by specifying its ID.
- getDocumentByTitle("title")
- Get document by name, or all documents if an empty string is passed.
generateDocument
Generates a document based on an HTML Document Template.
Syntax
- <syntaxhighlight lang="java" enclose="div">
Result result; result = Functions.generateDocument(String object, String recordID,
String templateID, String format);
</syntaxhighlight>
Parameters
- object
- The name or identifier of the object that contains the record of interest.
- recordID
- The identifier of the record to pass to the template.
- printTemplate
- The identifier of the Document Template.
- To get the template ID:
- format
- CONSTANTS.DOCUMENT.HTML -or- CONSTANTS.DOCUMENT.PDF
- This option applies to HTML and PDF templates. Word templates always produce Word files. PowerPoint templates produce PowerPoint files.
Return
- Usage
-
- Get the object name from the Object Properties
- Get the template name from the Document Template
- Get the record ID from the incoming parameters
- Use result.getID() to retrieve the document ID
- Pass it to the getDocument method to get a PlatformFileBean that contains the document
- Example
- This example calls generateDocument on a case to create an HTML document.
- <syntaxhighlight lang="java" enclose="div">
String printTemplate = ""; // Code this value String recordID = ""; // Get this value from incoming parameters
...
Result result = Functions.generateDocument("cases", recordID, printTemplate, CONSTANTS.DOCUMENT.HTML); int resultCode = result.getCode(); if(resultCode < 0) {
String msg = "Some Message"; Logger.info(msg + ":\n" + result.getMessage(), "Doc"); // Log details Functions.throwError(msg + "."); // Error message
} else {
String doc_id = result.getID(); PlatformFileBean file = Functions.getDocument(doc_id);
// Additional business logic...
} </syntaxhighlight>