JOSIF Main Page | JOSIF Guidebook | Modeling | Shared Framework Model | Internal Framework Model

The Internal Framework Model defines objects that are used by generators to be injected in the specifications.
This model cannot be referenced directly by interface developers. It will always be used implicitly. It covers:

Entity Identifier

Entity Identifier is added to all entities by making all entities inherit by injection from EntityBase.
This is shown on the figure below:

It defines the following objects:

Pre-defined Exceptions

The predefined common exceptions are automatically inserted into all operations, with the exception of one-way operations which do not have exceptions at all.

InternalException is the root of the TIP Framework Internal Exception Heirarchy. All TIP interfaces will as a minimum support the exceptions extending from InternalException. InternalException inherits by injection from ExceptionBase.

ExceptionBase : This is the base definition of all TIP operation exceptions. This type is injected by the TIP Generators into code generated from Tigerstripe Exception artifacts where the 'Extends' field has been left as an empty string or as 'java.lang.Exception'. ExceptionBase contains 2 attributes:

The figure below provides the hierarchy of predefined common exceptions:

The predefined common exceptions are:

Extensibility

Defines the datatype Any.

Any : This is an internal object used to add extensibility to entity, datatype or operations.
It allows adding a list of Any.

Iterators

The iterator model is shown below:

It consist of:

*CommonResponse : This is the base (abstract) definition used for all responses. The response maybe the IteratorInfo or a GetNextreponse. It contains the endOfSequence field to indicate if this is the end of the replies.
*IteratorInfo : This is the Info contained in the first reponse to a bulk based request. It may contain an Iterator ID if there are more replies.
*GetNextResponse : This is the response object to a getNextRequest.
*CommonRequest : This is the base (abstract) definition used for all Iterator requests.
*GetNextRequest : This is the Iterator getNextRequest. This retrieves the next batch of replies.
*ReleaseRequest : This is the Iterator release request. This release all the assocaited resources and ivalidate the iterator.
*ReleaseResponse : This is the response to a relase request.
*IteratorNotFound : This is the exception raised when the ID used when invoking an iterator is invalid. For example when trying GetNextResponse with an iterator ID that does not exist .
*InvalidIteratorContext : This is the exception raised when the context for the invocation of an iterator is invalid. For example when trying GetNextResponse out of an iterator that was released.

Notifications

It defines the base notifications that are injected:

*NotificationBase : This is the base (abstract) definition used for all TIP notifications. This type is injected by the TIP Generators into code generated from Tigerstripe Event (i.e. notification) artifacts where the 'Extends' field has been left as an empty string.
*CommonNotificationBase : This is the base (abstract) definition used for all TIP Common Notifications. This type is injected by the TIP Generators into code generated from Tigerstripe Event (i.e. notification) artifacts where the 'Extends' field corresponds to 'org.tmforum.tip.fmk.common.notifications.CommonNotification'.

This is shown on the figure below:

NotificationBase : This is the base (abstract) definition used for all TIP notifications.
This type is injected by the TIP Generators into code generated from Tigerstripe Event (i.e. notification) artifacts where the 'Extends' field has been left as an empty string.

NotificationBase includes the following attributes:


CommonNotificationBase includes the following attributes: