[This is preliminary documentation and is subject to change.]
[Missing namespace summary documentation for N:Edustructures.SifWorks]
| C# | Visual Basic | Visual C++ |
namespace Edustructures.SifWorks
Namespace Edustructures.SifWorks
namespace Edustructures.SifWorks
| All Types | Classes | Interfaces | Enumerations |
| Icon | Type | Description |
|---|---|---|
| Adk | A global class representing the SIFWorks® Adk class framework.
Prior to calling any Adk methods or referencing any static constants, agents
must first initialize the Adk by calling the static Adk.initialize
method. The default initialize method loads all SIF Data Object
(Sdo) modules and selects the latest version of SIF as the default version
used to render SIF Messages. If you use this method, ensure that the proper
assemblies are available on the path. Other forms of the initialize
method allow you to choose the specific Sdo modules that are loaded as well
as the version of SIF that will be the default for this agent session.
| |
| AdkDataType<(Of <T>)> |
Wraps a .Net value type in an immutable instance that can be used
to construct SimpleFields that represent properties in SIF data objects
| |
| AdkDebugFlags |
Summary description for AdkDebugLevel.
| |
| AdkException | The base class for all exception classes defined by the Adk. | |
| AdkMessagingException | Exception signaling that an error has occurred processing a message.
| |
| AdkNotSupportedException | Signals an operation is not supported.
| |
| AdkParsingException | Signals an error parsing SIF message content | |
| AdkProperties | The abstract base class for agent and zone properties | |
| AdkQueryOptions |
These flags are reserved for future use
| |
| AdkQueueException | Exception signaling that an error has occurred in the Agent Queue. | |
| AdkQueueLocation | Flags and constants used throughout the Adk.
Provisioning Flags
The PROV_ flags are used to control the provisioning process when the agent
registers with zones and topics. These flags are typically passed to methods
such as Zone.connect, Topic.setSubscriber, Topic.setPublisher,
and Agent.shutdown.
SIF provisioning messages include:
| |
| AdkSchemaException | Thrown when an element or attribute is referenced but does not exist.
| |
| AdkTransportException | Exception signaling that an error has occurred in a transport protocol.
| |
| AdkUnknownOperatorException |
Represents the exception that is thrown when an unkown SIF_Operator is used in a SIF_Query
| |
| AdkZoneNotConnectedException | Exception signaling that a method was called on a Zone instance but the zone
is not in a connected state.
| |
| Agent | The base class for a SIF Agent.
Derive your own class from this one and pass the SourceId to the
superclass constructor. Call the initialize method to initialize
the agent prior to use.
| |
| AgentMessagingMode |
Summary description for AgentMessagingMode.
| |
| AgentProperties | Properties describing the operational settings of the agent or a zone. | |
| AgentProvisioningMode |
Refer to the Developer Guide for more information on the ADK's
provisioning modes.
| |
| ComparisonOperators |
Summary description for Operators.
| |
| Condition | A query condition. | |
| ConditionGroup | A group of query conditions. | |
| DefaultValueBuilder | The default IValueBuilder implementation evaluates an expression to produce
a string value.
| |
| Element | The abstract base class for all element and attribute classes in the SIF
Data Objects library. | |
| Element..::ElementFlags | ||
| Event | Encapsulates a SIF Event | |
| EventAction |
Summary description for EventAction.
| |
| GroupOperator |
Summary description for GroupOperator.
| |
| HttpProperties | Properties for the HTTP transport protocol. | |
| HttpsProperties | Properties for the HTTPS transport protocol. | |
| IDataObjectInputStream | ||
| IDataObjectOutputStream | DataObjectOutputStream is supplied to the IPublisher.OnRequestmessage.
handler to allow agents to stream an arbitrarily large set of SifDataObjects when
responding to SIF_Request messages. The ADK handles packetizing the objects
into SIF_Response packets, which are stored in a cache on the local file system
until they can be delivered to the zone. | |
| IDtd | Classes that implement the DTD interface provide information about the
schema of elements and attributes. For example, the SifDtd class implements
this interface to define all elements comprising the Schools Interoperability
Framework.
| |
| IElementDef | Encapsulates metadata for a SIF element or attribute. | |
| IElementVersionInfo |
Represents information about an IElementDef that is specific to a version of SIF
| |
| IMessageInfo | Provides information about an XML message, such as envelope and header attributes,
the source of the message, and optionally the raw XML document that comprises
the message. | |
| IMessagingListener | The base interface for all listener interfaces related to the exchange of
messages over the underlying messaging infrastructure. For example,
SIFMessagingListener extends this interface for the Schools Interoperability
Framework.
| |
| IPropertyCollection |
Used in places where name-value collections are needed
| |
| IPublisher | The Publisher interface is implemented by classes that respond to queries (SIF_Requests).
Implement the Publisher interface on a class that is capable of responding
to SIF_Requests for one or more SIF Data Objects, then register your class
with a Topic or Zone by calling the Topic.setPublisher Zone.setPublisher | |
| IQueryResults | The QueryResults interface is implemented by classes that process the
results of queries initiated by the agent. Agents typically register a
QueryResults implementation with a Topic or Zone.
Pending Queries
The onQueryPending onQueryResults onQueryResults | |
| IRenderSurrogateToDelete | ||
| IReportObjectOutputStream | The ReportObjectOutputStream is implemented by the ADK to supply agents with
a means of streaming arbitrarily large SIF Data Objects responses for SIF_ReportObject
queries in SIF 1.5 and later. The ADK handles packetizing and storing SIF_Responses
for SIF_ReportObject in a local cache for reliable delivery to the ZIS.
| |
| IReportPublisher | 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.
| |
| IRequestInfo |
Represents information cached by the ADK about a specific SIF_Request.
| |
| ISubscriber | The Subscriber message handler interface is implemented by classes that wish to
SIF_Event messages received from a zone.
process SIF_Event messages received from a zone. Consult the ADK Developer
Guide for more information about message handler interfaces.
| |
| ITopic | Aggregates publish, subscribe, and query activity across multiple zones.
An agent typically registers with its zones at startup, creates Topic
instances for the data types it is interested in, and then joins zones to
each topic by calling Topic.addZone. A given Zone can only be
joined to one Topic. If an agent wishes to manage publish and subscribe
activity on a per-zone basis, it can do so by creating one Topic object for
each zone instead of aggregating zones on a single Topic instance.
The Adk applies publish, subscribe, and query functionality equally to all
zones joined to a topic. Thus, if the topic provides authoritative data to
its zones (that is, it is registered with the ZIS as a Provider), it will
do so for all zones by delegating incoming queries to the Publisher
registered with this topic. Similarly, the topic will send change events
to all of its zones when the publish method is called, and will
query all zones for data objects when the query method is
called. (An exception to this is directed queries, which require that the
caller specify a zone and agent name to direct the query.)
Consult the Adk Developer Guide for more information about working with
multiple zones.
| |
| ITopicFactory | Creates Topic objects and provides access to the topics that have been
created during this session of the agent.
Agents exchange data with SIF zones via Zone and Topic objects, which can
be obtained with the ZoneFactory and TopicFactory classes. These factories
are available by calling the Agent.getZoneFactory Agent.getTopicFactory | |
| IUndeliverableMessageHandler | ||
| IValueBuilder | Classes that implement the IValueBuilder interface evaluate an arbitrary
expression to produce a string value. The string value is then assigned as
the value to a SIF element or attribute.
The IValueBuilder interface is used by the SifDtd, SifDataObject, and Mappings
classes when evaluating XPath-like query strings. It enables developers to
customize the way the Adk evaluates value expressions in these query strings
to produce a value for a SIF element or attribute. The DefaultIValueBuilder
implementation supports $(variable) token replacement as well as
@com.class.method style calls to static .Net methods.
| |
| IZone | ||
| IZoneFactory | Creates Zone objects and provides access to the Zones created by an agent.
Agents exchange data with SIF zones via Zone and Topic objects, which can
be obtained with the ZoneFactory and TopicFactory classes. These factories
are available by calling the Agent.getZoneFactory and Agent.getTopicFactory
methods.
An Agent may have one Zone object per SIF zone to which it is connected.
Zone instances are returned by calling the getInstance method. When no
properties are specified for a zone, the agent's defaults are used. Default
properties are returned by the Agent.getProperties method. For a explanation
of the various properties that affect zones, refer to the AgentProperties
class description.
The getInstance method returns the same Zone object for a given zone
identifier for as long as it remains in the factory's cache. getAllZones
returns all zones in the cache. A Zone remains in the cache until its
disconnect method is called, at which point it is removed and can no longer
be used by agent. (Calling the Zone.connect method on a disconnected zone
throws an exception.) To reconnect to a zone after calling its disconnect
method, obtain a fresh Zone instance from the ZoneFactory.
| |
| MessagingReturnCode |
Summary description for MessagingReturnCode.
| |
| DefaultValueBuilder..::MyStringTokenizer | A StringTokenizer replacement. We need a replacement for two
reasons: first, the default does not consider empty tokens to be
tokens. For example, ",,,blue" is considered to have one token, not 4.
Second, we need to ignore commas in literal strings so that a parameter
to a method can itself be comprised of delimiters. If a double-quote is
found, all commas until the next double-quote are considered literal.
The commas are not included in the resulting tokens.
| |
| DefaultValueBuilder..::ParseResults | A helper class to parse "@method( parameterlist )" into .Net method name
and parameter list, and to return the position in the source string where
the caller should continue processing.
| |
| ProvisioningFlags | ||
| Query | ||
| RequestCacheFileEntry |
Represents informaton about an outstanding SIF_Request that has been made to the zone
| |
| SdoLibraryType |
Values identifying each package in the SIF Data Objects library
| |
| SifActionList<(Of <TKey, TValue>)> | ||
| SifBoolean | ||
| SifContext | ||
| SifDataObject | ||
| SifDataObjectXml | A SifDataObject implementation that wraps raw XML messages.
| |
| SifDataType |
A list of SIF datatypes supported by the ADK
| |
| SifDate | A date value in SIF format
To use this class, pass a date string to the constructor or set methods in
the format specified by SIF ("YYYYmmdd"). Alternatively, you may pass a
DateTimeinstance. The
ToDate returns the SIF date as a DateTime instance.
| |
| SifDateTime | ||
| SifDecimal | ||
| SifDtd | Metadata for the Schools Interoperability Framework (SIF) | |
| SifDuration | ||
| SifElement | The abstract base class for all SIF Elements. | |
| SifElementList | ||
| SifEncryption |
SifEncryption provides easy read and write access to encrypted passwords in the Authentication object
| |
| SifEnum | Describes the acceptable values for an enumerated SIF attribute or element
| |
| SifErrorCategoryCode |
Summary description for SifCategoryCode.
| |
| SifErrorCodes | Defines SIF 1.0r1 error category and code constants.
| |
| SifException | SifException describes a SIF error condition.
When handling inbound messages, the agent may throw a SifException from a
message handler to signal that an error has occurred and should be returned
to the ZIS in the SIF_Ack message. The Adk will convert the SifException to
a SIF_Error element when sending the associated SIF_Ack. It is desirable to
throw SifException in your message handlers (versus generic exceptions) if
you want control over setting the SIF_Error category, code, description, and
extended description elements.
SifException may also be thrown by Adk methods in response to a SIF_Ack
received from the server. The actual SIF_Ack object that generated the exception
can be retrieved by calling getAck. Any SIF_Error elements
included in the acknowledgement can be retrieved by calling getErrors
and associated methods such as hasError. Note SIF 1.0r1 allowed
for multiple SIF_Error elements per SIF_Ack, but later versions of SIF do
not. For backward compatibility, the Adk captures all SIF_Error elements
received in SIF_Ack messages and makes them available as an array. The array
can be obtained by calling the getErrors method.
| |
| SifFormatter |
Contains functions helpful for converting data to and from native datatypes to SIF datatypes
| |
| SifInt | ||
| SifKey | ||
| SifKeyedElement |
Represents a SIFElement which has a primary key
| |
| SifKeyedList<(Of <TKey, TValue>)> | ||
| SifList<(Of <TValue>)> |
Represents a SIF Repeatable Element list container element.
| |
| SifMessageInfo | ||
| SifMessagePayload | A specialization of SifElement for SIF infrastructure messages such as
SIF_Register, SIF_Request, and SIF_Event.
SifMessagePayload provides methods specific to infrastructure messages, such
as retrieving the Edustructures.SifWorks or its individual fields. When an instance of
this class is constructed, it is done so without its Edustructures.SifWorks element. The
getHeader method adds a Edustructures.SifWorks child if one does not exist,
and the class framework takes care of assigning values to the header prior to
sending messages.
For consistency the Adk employs the same SifElement class hierarchy and
conventions for SIF Infrastructure messages as it does for SIF Data Objects.
Some inherited methods of SifElement, such as setChanged and setEmpty, have
no effect for infrastructure messages.
| |
| SifMessageType |
Summary description for SifMessageType.
| |
| SifParser |
Summary description for SifParser.
| |
| SifParserFlags |
Summary description for SifParserFlags.
| |
| SifResponseSender |
Helper class to send SIF_Response messages when an agent defers automatic
sending of responses in its implementation of the IPublisher.OnRequest
message handler. This class is designed to be used when the DeferResponse()()
method is called during SIF_Request processing, and must be used outside of the
Publisher.OnRequest message handler.
| |
| SifSimpleType |
The abstract and base definition for a specific data type supported by SIF. DataTypes are
immutable and can be converted to and from datatypes supported by the SIF Specication in any
version of SIF
| |
| SifStatusCodes | Defines SIF 1.0r1 status code constants.
| |
| SifString | ||
| SifTime | A SIF Time value.
SifTime extends the Edustructures.SifWorks.Common.Time class
that encapsulates SIF Time elements in SIF Data Objects. An instance of this
class can be used whenever a parameter of that type is passed to a SIF Data
Object class. SifTime adds methods to set and get SIF Time values using the
standard .Net DateTime class
| |
| SifTypeConverter<(Of <T>)> |
Represents a set of type converters that use SIFFormatter instances to convert
Strings into SIFSimpleType instances
| |
| SifTypeConverters |
A collection of Type converter instances that can be used for converting native types
to the value represented in SIF XML documents
| |
| SifVersion | Encapsulates a SIF version number.
The Adk uses instances of SifVersion rather than strings to identify
versions of SIF. Typically you do not need to obtain a SifVersion instance
directly except for when initializing the class framework with the
Adk.initialize method. Rather, classes for which SIF version is
a property, such as SifDataObject and Query, provide a getSIFVersion
method to obtain the version associated with an object.
| |
| SifWriter | ||
| SimpleField | A simple field value that is strongly typed to match its XSD
Datatype in the SIF Schema. Unlike complex elements, which are
stored as child objects of their parent, simple fields (i.e. attributes or
elements that have no children) are wrapped in a SimpleField instance and
stored in the field table of their parent object.
| |
| TransportProperties | Properties describing operational settings of a transport protocol.
| |
| TypeConverter |
An
| |
| TypedElementList<(Of <T>)> |