001: package org.enhydra.shark.api.client.wfservice;
002:
003: import org.enhydra.shark.api.client.wfmc.wapi.WAPI;
004: import org.enhydra.shark.api.client.xpil.XPILHandler;
005: import org.enhydra.shark.api.common.ActivityFilterBuilder;
006: import org.enhydra.shark.api.common.AssignmentFilterBuilder;
007: import org.enhydra.shark.api.common.EventAuditFilterBuilder;
008: import org.enhydra.shark.api.common.ProcessFilterBuilder;
009: import org.enhydra.shark.api.common.ProcessMgrFilterBuilder;
010: import org.enhydra.shark.api.common.ResourceFilterBuilder;
011:
012: /**
013: * The top-most client interface for accessing shark engine. Every client application has
014: * to know about the implementation of this interface.
015: * <p>
016: * When client application has the instance of this interface implementation, it can call
017: * one of its methods to retrieve instances of various interfaces used for managing Shark.
018: *
019: * @author Sasa Bojanic
020: * @author Vladimir Puskas
021: */
022: public interface SharkInterface {
023:
024: /**
025: * Returns instance of SharkConnection interface that can be used by shark user to
026: * connect to shark engine and execute assignments.
027: *
028: * @return SharkConnection instance.
029: */
030: SharkConnection getSharkConnection() throws Exception;
031:
032: /**
033: * Returns instance of WfMC API interface that can be used by shark user to connect to
034: * shark engine and execute assignments.
035: *
036: * @return a WAPI instance.
037: */
038: WAPI getWAPIConnection() throws Exception;
039:
040: /** Returns instance of interface for administering packages (XPDLs). */
041: PackageAdministration getPackageAdministration() throws Exception;
042:
043: /** Returns instance of interface for execution objects administering. */
044: ExecutionAdministration getExecutionAdministration()
045: throws Exception;
046:
047: /** Returns instance of extension interface for execution objects administering. */
048: ExecutionAdministrationExt getExecutionAdministrationExtension()
049: throws Exception;
050:
051: /** Returns instance of interface for Miscellaneous administering. */
052: AdminMisc getAdminMisc() throws Exception;
053:
054: /** Returns instance of extension interface for Miscellaneous administering. */
055: AdminMiscExt getAdminMiscExtension() throws Exception;
056:
057: /** Returns instance of interface for browsing XPDL. */
058: XPDLBrowser getXPDLBrowser() throws Exception;
059:
060: /**
061: * Returns instance of interface for building filters for activity.
062: */
063: ActivityFilterBuilder getActivityFilterBuilder() throws Exception;
064:
065: /**
066: * Returns instance of interface for building filters for assignment.
067: */
068: AssignmentFilterBuilder getAssignmentFilterBuilder()
069: throws Exception;
070:
071: /**
072: * Returns instance of interface for building filters for event audit.
073: */
074: EventAuditFilterBuilder getEventAuditFilterBuilder()
075: throws Exception;
076:
077: /**
078: * Returns instance of interface for building filters for process.
079: */
080: ProcessFilterBuilder getProcessFilterBuilder() throws Exception;
081:
082: /**
083: * Returns instance of interface for building filters for process manager.
084: */
085: ProcessMgrFilterBuilder getProcessMgrFilterBuilder()
086: throws Exception;
087:
088: /**
089: * Returns instance of interface for building filters for resource.
090: */
091: ResourceFilterBuilder getResourceFilterBuilder() throws Exception;
092:
093: /** Returns instance of interface for obtaining XPIL information. */
094: XPILHandler getXPILHandler() throws Exception;
095:
096: /**
097: * Returns shark configuration properties.
098: */
099: NameValue[] getProperties() throws Exception;
100:
101: /**
102: * Returns desired default plug-in API implementation.
103: */
104: public Object getPlugIn(String name) throws Exception;
105:
106: }
|