SIFWorks ADK 2.0
IReportPublisher Interface
NamespacesEdustructures.SifWorksIReportPublisher

[This is preliminary documentation and is subject to change.]

The ReportPublisher interface is implemented by message handler classes that respond to requests for SIF_ReportObject. Note the ReportPublisher interface must be used instead of the standard Publisher interface for the SIF_ReportObject object type.
Declaration Syntax
C#Visual BasicVisual C++
public interface IReportPublisher
Public Interface IReportPublisher
public interface class IReportPublisher
Members
All MembersMethods



IconMemberDescription
OnReportRequest(String, IReportObjectOutputStream, Query, IZone, IMessageInfo)
Respond to a SIF_Request for SIF_ReportObject received from a zone. The implementation should evaluate the supplied ReportManifestRefId and Query to build a set of SIFDataObjects that satisfy the conditions and field restrictions placed on the query. If the agent cannot satisfy the query it should return without taking any action. Assign report information to the ReportObjectOutputStream object by constructing a ReportInfo instance (from the com.edustructures.sifworks.reporting package) and passing that instance to the
CopyC#
setReportInfo
method. Alternatively, you may call the following methods directly:
  • CopyC#
    setReportManifestRefId
  • CopyC#
    setDescription
  • CopyC#
    setCalculationDate
  • CopyC#
    setSubmissionNumber
  • CopyC#
    setSubmissionReason
To return the SIF Data Objects that comprise the report, repeatedly call the
CopyC#
ReportObjectOutputStream.write( SifDataObject )
method. To return an error with the response, call the
CopyC#
setError
method or throw a SifException. The ADK will convert the exception into a SIF_Error element and include it in the payload of the SIF_Response. The ADK returns the results of the request to the requestor by sending one or more SIF_Response messages with packetized SIF_ReportObject payloads. This is handled in a separate thread managed by the framework. If the number of SIFDataObjects passed to the output stream is too large to fit into a single SIF_ReportObject and SIF_Response message, the ADK handles breaking it up into multiple packets. The result data may be temporarily stored on disk until all packets can be returned to the ZIS.

Assembly: Edustructures.SifWorks.Adk (Module: Edustructures.SifWorks.Adk) Version: 2.0.0.10