|
SAP NetWeaver '04 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Provides methods for creating, modifying, and accessing subscriptions that belong to this
ISubscriptionManager.
It also defines methods to get information related to subscriptions like:
- events on a subscribed resource that are relevant to a subscription
- channel which is used to communicate with recipients
- conditions which define circumstances under which a subscription is triggered
(follow link behaviour, recursion level and so on)
- attributes which set expiry date, next send date, intervals at which notifications are send
- permissions that restrict actions related to subscriptions
An important features of an ISubscriptionManager is to create a subscription and to return
all subscriptions that it manages.
This code example creates a subscription:
ISubscriptionCondition condition = subscriptionManager.createSubscriptionCondition();
condition.setRidTracking(subscriptionManager.getDefaultConditionRidTracking(myResource));
ISubscriptionAttributes attributes = manager.createSubscriptionAttributes();
IChannel channel = ChannelFactory.getInstance().getChannel(ChannelFactory.EMAIL);
IRecipient recipient = RecipientFactory.getInstance().getRecipient(clientAreaListResource.getContext().getUser());
manager.createSubscription(clientAreaListResource.getContext(), "mySubscription", condition, clientAreaListResource, channel, recipient, attributes);
Note that calling the subscription managers createSubscriptionAttributes() orcreateSubscriptionCondition() method initializes the returned objects with default values.createSubscription().
ISubscription,
ISubscriptionAttributes,
ISubscriptionCondition,
ISubscriptionConditionEvent,
ISubscriptionConditionInterval,
ISubscriptionConditionRecursionLevel,
ISubscriptionList,
ISubscriptionListIterator,
SubscriptionException,
WcmException,
IChannel,
IRecipient,
IRecipientList,
IResource,
IResourceList,
IResourceContext,
IResourceEvent,
IRepositoryService| Field Summary | |
static java.lang.String |
ACTIVE_PERMISSION
Permission for a user to create a subscription or to unsubscribe a subscription for himself. |
static java.lang.String |
FOLDER_PERMISSION
Permission for a user to create a subscription or to unsubscribe a subscription for himself and for others on a hierarchy of folders. |
static java.lang.String |
PASSIVE_PERMISSION
Permission for a user to create a subscription or to unsubscribe a subscription for himself and for others. |
static java.lang.String |
UNSUBSCRIBE_PERMISSION
Permission to unsubscribe from a subscription. |
| Method Summary | |
boolean |
checkPermission(IResourceContext context,
java.lang.String permissionName,
IResource resource)
Checks subscription permission for the user from the specified context. |
boolean |
checkPermission(IResourceContext context,
java.lang.String permissionName,
IResourceList resources)
Checks whether the user stored in the context has the specified subscription permission for the list of resources. |
IRidList |
checkResourcesForSubscription(IResourceContext context,
java.lang.String owner,
IResourceList resources)
Checks if at least one subscription exists for each given resource. |
IRidList |
checkRIDsForSubscription(IResourceContext context,
java.lang.String owner,
IRidList RIDs)
Checks if at least one subscription exists for each given RID. |
ISubscription |
createSubscription(IResourceContext context,
java.lang.String name,
ISubscriptionCondition condition,
IResource resource,
IChannel channel,
IRecipient recipient,
ISubscriptionAttributes attributes)
Creates a new subscription with the specified attributes for one resource and recipient. |
ISubscription |
createSubscription(IResourceContext context,
java.lang.String name,
ISubscriptionCondition condition,
IResource resource,
IChannel channel,
IRecipientList recipients,
ISubscriptionAttributes attributes)
Creates a new subscription with the specified attributes for one resource and several recipients. |
ISubscription |
createSubscription(IResourceContext context,
java.lang.String name,
ISubscriptionCondition condition,
IResourceList resources,
IChannel channel,
IRecipientList recipients,
ISubscriptionAttributes attributes)
Creates a new subscription with the specified attributes for several resources and recipients. |
ISubscriptionAttributes |
createSubscriptionAttributes()
Creates a default ISubscriptionAttributes. |
ISubscriptionCondition |
createSubscriptionCondition()
Creates a default ISubscriptionCondition. |
ISubscriptionList |
createSubscriptionList()
Creates an empty ISubscriptionList. |
ISubscriptionList |
deleteSubscriptionsForUser(IResourceContext context,
IRecipient deletedUser,
IRecipient newUser,
boolean replaceOnlyOwnedSubscriptions)
Deletes all subscriptions for a given user. This method might be called if a user does no longer exist in the system, and his subscriptions should be clean up. |
java.util.Collection |
getActiveChannels()
Gets all active channels, that may be used to create a subscription. |
java.util.Collection |
getConditionEvents(IResource resource)
Gets all possible event types related to subscriptions that can occur for the specified resource. |
java.util.Collection |
getConditionIntervals(IResource resource)
Gets all available interval types for subscription notification. |
java.util.Collection |
getConditionRecursionLevels(IResource resource)
Gets all available subscription recursion levels for a specified resource. |
IChannel |
getDefaultChannel(IRecipientList recipientList)
Gets the default channel over all recipients. The returned channel is a channel that is valid for all recipients, if such a channel can be found. |
ISubscriptionConditionEvent |
getDefaultConditionEvent(IResource resource)
Gets the default event type for a specified resource. |
int |
getDefaultConditionFollowLinks(IResource resource)
Gets the default behavior for a subscribed link. |
ISubscriptionConditionInterval |
getDefaultConditionInterval(IResource resource)
Gets the default interval type for a subscription notification. |
ISubscriptionConditionRecursionLevel |
getDefaultConditionRecursionLevel(IResource resource)
Gets the default subscription recursion level for a specified resource. |
int |
getDefaultConditionRidTracking(IResource resource)
Gets the RID tracking behavior that is the default for a specified resource. |
java.lang.String |
getInstanceID()
Returns the ID of this instance of the manager. |
ISubscriptionList |
getInvalidChannelSubscriptions()
Gets all subscriptions that use an inactive channel. A channel is inactive if it isn't returned by the INotificatorService getChannels() method. |
IRecipientList |
getInvalidForChannel(IChannel channel,
IRecipientList recipients)
Checks whether a channel is valid for the specified recipients, and returns the recipients for which the channel is invalid. |
IResourceList |
getInvalidForCondition(ISubscriptionCondition condition,
IResourceList resourceList)
Checks whether a condition is valid for a specified list of resources and returns the resources for which the condition is invalid. |
ISubscriptionConditionRecursionLevel |
getMaxConditionRecursionLevel(IResource resource)
Gets the maximum subscription recursion level that is possible for a specified resource. |
ISubscriptionConditionInterval |
getMinConditionInterval(IResource resource)
Gets the shortest interval type available for subscription notifications. |
ISubscriptionList |
getPassiveSubscriptions(IResourceContext context,
IRecipient recipient)
Gets all passive subscriptions for a specified recipient. |
ISubscription |
getSubscription(IResourceContext context,
java.lang.String id)
Gets the subscription with the specified ID. |
ISubscriptionList |
getSubscriptions(IResourceContext context,
IRecipient recipient,
boolean resolveIncludedUsers)
Returns all matching subscriptions for a specified recipient. |
ISubscriptionList |
getSubscriptions(IResourceContext context,
RID rid,
boolean includeSubfolders)
Gets all subscriptions for a specified rid. |
ISubscriptionList |
getSubscriptions(IResourceContext context,
java.lang.String owner)
Returns all matching subscriptions for a specified owner. |
ISubscriptionList |
getSubscriptions(IResourceContext context,
java.lang.String owner,
IResource resource)
Returns all matching subscriptions with a specified owner and resource. |
boolean |
isDefaultChannelActive()
Checks whether a default channel is active or not. |
boolean |
isValidChannel(IChannel channel,
IRecipient recipient)
Checks whether a channel is valid for a specified recipient. |
boolean |
isValidChannel(IChannel channel,
IRecipientList recipientList)
Checks whether a channel is valid for a specified list of recipients. |
boolean |
isValidCondition(ISubscriptionCondition condition,
IResource resource)
Checks whether a condition is valid for a specified resource. |
boolean |
isValidCondition(ISubscriptionCondition condition,
IResourceList resourceList)
Checks whether a condition is valid for a specified list of resources. |
void |
raiseNotification(IResourceEvent event)
Raises an event which then triggers a subscription notification. |
| Methods inherited from interface com.sapportals.wcm.repository.service.IRepositoryService |
acceptServletCall, getDescription, getDescription, getID, getServiceType |
| Field Detail |
public static final java.lang.String UNSUBSCRIBE_PERMISSION
public static final java.lang.String ACTIVE_PERMISSION
public static final java.lang.String PASSIVE_PERMISSION
public static final java.lang.String FOLDER_PERMISSION
| Method Detail |
public ISubscription createSubscription(IResourceContext context,
java.lang.String name,
ISubscriptionCondition condition,
IResourceList resources,
IChannel channel,
IRecipientList recipients,
ISubscriptionAttributes attributes)
throws WcmException
null as an argument for context,
name or resourceList causes
an exception. condition is null, the
default conditions as returned by the methods getDefaultCondition...()
are used.channel is null, the first
recipient's default channel is used. recipients is null, the user
provided by the context (the owner) is used as the
recipient. attributes is null, the
default attributes as returned by createSubscriptionAttributes()
are used.context - specifies the owner of the subscriptionname - a String that specifies the name of the subscriptioncondition - an ISubscriptionCondition that defines the relationship between the
subscription and the subscribed resources such as
the polling interval, the event to subscribe to, and
so onresourceList - IResourceList names the resources to subscribe tochannel - an IChannel that specifies the medium to use for sending
notifications, for example, e-mail. It defines the
relationship between the subscription and the
recipients.recipients - an IRecipientList with the recipients of notifications related to
the subscriptionattributes - an ISubscriptionAttributes object that specifies the details of the
subscription such as the expiration date ISubscription with the specified attributesSubscriptionException - of the type CREATE_EXISTSif a
subscription with the name already existsSubscriptionException - of the type NOACCESS if the user provided
by the context does not have the permissions requiredgetType() method returns the type of SubscriptionException.WcmException - if creation fails due to a problem saving the data to the database
The user provided by the context must have the following service acl entries for the subscribed resources:
ACTIVE_PERMISSIONto create a subscription for oneself
PASSIVE_PERMISSIONto create a subscription for other recipients
FOLDER_PERMISSIONto create a subscription for more than one level of a folder, that is, if getRecursionLevel().getLevel() > 1
public ISubscriptionList deleteSubscriptionsForUser(IResourceContext context,
IRecipient deletedUser,
IRecipient newUser,
boolean replaceOnlyOwnedSubscriptions)
throws WcmException
null, it will simply delete all
active subscriptions and passive subscriptions of the user given with parameter
deletedUser. The returned list is always empty in this case.true all passive subscriptions of the deletedUser will be deleted and
not assigned to the newUser. If false is passed also the deletedUsers
passive subscriptions will be assigned to newUser.context - an IResourceContext of an valid subscription administratordeletedUser - The IRecipient of a deleted user.newUser - The IRecipient of the replacement user for the deletedUser. The
given new user must exist in the system.null, if deletedUser's subscriptions should simple be deleted.replaceOnlyOwnedSubscriptions - true indicates that all passive subscriptions
of deletedUser should be deleted and not assigned to newUser. nullISubscriptionList which is always empty if newUser is null.newUser is valid it contains all subscriptions that could not be assigned to the newUser.ISubscription.setName(String) method to change a subscriptions name.null the method will return null.WcmException - Throws SubscriptionException of type SubscriptionException.NOACCESS,
if given context is not a valid administrator context.
public ISubscription createSubscription(IResourceContext context,
java.lang.String name,
ISubscriptionCondition condition,
IResource resource,
IChannel channel,
IRecipientList recipients,
ISubscriptionAttributes attributes)
throws WcmException
null as an argument for context,
name or resource causes
an exception. condition is null, the
default conditions as returned by the methods getDefaultCondition...()
are used.channel is null, the first
recipient's default channel is used. recipients is null, the user
provided by the context (the owner) is used as the
recipient. attributes is null, the
default attributes as returned by createSubscriptionAttributes()
are used.context - specifies the owner of the subscriptionname - a String that specifies the name of the subscriptioncondition - an ISubscriptionCondition that defines the relationship between the
subscription and the subscribed resource, such as
the polling interval, the event to subscribe to, and
so onresource - IResource names the resource to subscribe tochannel - an IChannel that specifies the medium to use for sending
notifications, for example, e-mail. It defines the
relationship between the subscription and the
recipients.recipients - an IRecipientList with the recipients of notifications related to
the subscriptionattributes - an ISubscriptionAttributes object that specifies the details of the
subscription such as the expiration date ISubscription with the specified attributesSubscriptionException - of the type CREATE_EXISTSif a
subscription with the same name already existsSubscriptionException - of the type NOACCESS if the user provided
by the context does not have the permissions requiredgetType() method returns the type of SubscriptionException.WcmException - if creation fails due to a problem saving the data to the database
The user provided by the context must have the following service acl entries for the subscribed resource:
ACTIVE_PERMISSIONto create a subscription for oneself
PASSIVE_PERMISSIONto create a subscription for other recipients
FOLDER_PERMISSIONto create a subscription for more than one level of a folder, that is, if getRecursionLevel().getLevel() > 1
public ISubscription createSubscription(IResourceContext context,
java.lang.String name,
ISubscriptionCondition condition,
IResource resource,
IChannel channel,
IRecipient recipient,
ISubscriptionAttributes attributes)
throws WcmException
null as an argument for context,
name or resource causes
an exception. condition is null, the
default conditions as returned by the methods getDefaultCondition...()
are used.channel is null, the
recipient's default channel is used. recipient is null, the user
provided by the context (the owner) is used as the
recipient. attributes is null, the
default attributes as returned by createSubscriptionAttributes()
are used.context - specifies the owner of the subscriptionname - a String that specifies the name of the subscriptioncondition - an ISubscriptionCondition that defines the relationship between the
subscription and the subscribed resource, such as
the polling interval, the event to subscribe to, and
so onresource - IResource names the resource to subscribe tochannel - an IChannel that specifies the medium to use for sending
notifications, for example, e-mail. It defines the
relationship between the subscription and the
recipient.recipient - an IRecipient with the recipient of notifications related to
the subscriptionattributes - an ISubscriptionAttributes object that specifies the details of the
subscription such as the expiration date ISubscription with the specified attributesSubscriptionException - of the type CREATE_EXISTSif a
subscription with the same name already existsSubscriptionException - of the type NOACCESS if the user provided
by the context does not have the permissions requiredgetType() method returns the type of SubscriptionException.WcmException - if creation fails due to a problem saving the data to the database
The user provided by the context must have the following service acl entries for the subscribed resource:
ACTIVE_PERMISSIONto create a subscription for oneself
PASSIVE_PERMISSIONto create a subscription for other recipients
FOLDER_PERMISSIONto create a subscription for more than one level of a folder, that is, if getRecursionLevel().getLevel() > 1
public IRidList checkRIDsForSubscription(IResourceContext context,
java.lang.String owner,
IRidList RIDs)
throws WcmException
context - an IResourceContext containing information about the user
searching for a subscriptionsowner - a String with the owner of the subscriptions to search forRIDs - a IRidList with the RIDs of the resources to search forIRidList RIDs a subscription was found forWcmException - if the operation failspublic ISubscriptionList getInvalidChannelSubscriptions()
#changeChannelForSubscriptions(ISubscriptionList, IChannel, boolean),
ISubscriptionList,
INotificatorService,
IChannel
public IChannel getDefaultChannel(IRecipientList recipientList)
throws WcmException
recipientList - A list of recipients for which a common channel should be found,
that is valid for each individual recipient.WcmException - if a general error occuredSubscriptionException - of type SubscriptionException.INVALID_CHANNEL
is thrown if no common channel could be foundpublic java.util.Collection getActiveChannels()
INotificatorService,
IChannel
public IRidList checkResourcesForSubscription(IResourceContext context,
java.lang.String owner,
IResourceList resources)
throws WcmException
context - an IResourceContext containing information about the user
searching for a subscriptionsowner - a String with the owner of the subscriptions to search forresources - a IResourceList with the resources to search forIRidList RIDs a subscription was found forWcmException - if the operation fails
public ISubscription getSubscription(IResourceContext context,
java.lang.String id)
throws WcmException
null is returned.context - an IResourceContext containing information about the user
searching for a subscriptionid - a String with the ID of the subscription to search forISubscription with the subscription found or
null if a subscription does not exist with the specified
ID.WcmException - if the operation fails
public ISubscriptionList getSubscriptions(IResourceContext context,
RID rid,
boolean includeSubfolders)
throws WcmException
context - an IResourceContext of an valid subscription administratorrid - The RID for which to get all subscriptions for.includeSubfolders - boolean value. If true and rid belongs to a folder,
all subscriptions on child resources will be returned as well. Use this flag with caution,
as returned list might get very long, as there is no depth limitation.- Returns:
- A list of all subscriptions for a resources rid.
Might return null if context or rid was null. - Throws:
WcmException - Throws SubscriptionException of type SubscriptionException.NOACCESS,
if given context is not a valid administrator context.
public ISubscriptionList getPassiveSubscriptions(IResourceContext context,
IRecipient recipient)
throws WcmException
context - an IResourceContext of an valid subscription administratorrecipient - The IRecipient for which to get all passive subscriptions for.- Throws:
WcmException - Throws SubscriptionException of type SubscriptionException.NOACCESS,
if given context is not a valid administrator context.
public ISubscriptionList getSubscriptions(IResourceContext context,
java.lang.String owner,
IResource resource)
throws WcmException
context - an IResourceContext containing information about the user
searching for subscriptionsowner - a String with the ID of the owner to search
for. If this parameter is null, the user taken from
the context is used as owner.resource - the subscribed IResource. If this parameter is null, all
subscriptions for the owner are returned.ISubscriptionList with the subscriptions found.
The list is empty if no subscriptions were found.WcmException - if the operation fails
public ISubscriptionList getSubscriptions(IResourceContext context,
java.lang.String owner)
throws WcmException
getSubscriptions(context, owner, null)context - an IResourceContext containing information about the user
searching for subscriptionsowner - a String with the ID of the owner of the
subscription. If this parameter is null, the user taken from
the context is used as the owner.ISubscriptionList with the subscriptions found.
The list is empty if no subscriptions were found.WcmException - if the operation fails.
public ISubscriptionList getSubscriptions(IResourceContext context,
IRecipient recipient,
boolean resolveIncludedUsers)
throws WcmException
context - an IResourceContext containing information about the user
searching for subscriptionsrecipient - an IRecipient with the recipient to search
forresolveIncludedUsers - a boolean true if
groups should be recursively resolved when searching for the
recipient, false to search only in the top level
hierarchy of the recipientsISubscriptionList with the subscription found.
The list is empty if no subscriptions were found.WcmException - if the operation fails
public java.util.Collection getConditionEvents(IResource resource)
throws WcmException
resource - the IResource to get the subscribable events
forCollection of
ISubscriptionConditionEvents for the
specified resource to which a user can subscribeWcmException - if the operation fails
public ISubscriptionConditionEvent getDefaultConditionEvent(IResource resource)
throws WcmException
resource - the IResource to get the default event
forISubscriptionConditionEvent with the default event
for the specified resourceWcmException - if the operation fails
public java.util.Collection getConditionIntervals(IResource resource)
throws WcmException
resource - the IResource to get the subscribable
interval forCollection of
ISubscriptionConditionIntervals with the available
interval typesWcmException - if the operation fails
public ISubscriptionConditionInterval getDefaultConditionInterval(IResource resource)
throws WcmException
resource - the IResource for which to get available intervals for subscription notificationsISubscriptionInterval with the default notification interval
for the specified resourceWcmException - if the operation fails
public ISubscriptionConditionInterval getMinConditionInterval(IResource resource)
throws WcmException
resource - the IResource to get the shortest interval forISubscriptionInterval with the shortest interval
for the specified resourceWcmException - if the operation fails
public java.util.Collection getConditionRecursionLevels(IResource resource)
throws WcmException
resource - the IResource to get the recursion levels forCollection of
ISubscriptionConditionRecursionLevels with the
available recursion levelsWcmException - if the operation fails
public ISubscriptionConditionRecursionLevel getDefaultConditionRecursionLevel(IResource resource)
throws WcmException
resource - the IResource to get the default recursion
level forISubscriptionConditionRecursionLevel with the
default recursion levelWcmException - if the operation failsISubscriptionConditionRecursionLevel
public int getDefaultConditionFollowLinks(IResource resource)
throws WcmException
resource - the IResource to get the default follow
link behaviorint with the default follow link behavior
public int getDefaultConditionRidTracking(IResource resource)
throws WcmException
resource - the IResource to get the default RID
tracking behaviorint with the default RID tracking behavior
public ISubscriptionConditionRecursionLevel getMaxConditionRecursionLevel(IResource resource)
throws WcmException
IResource is a resource, the
maximum subscription recursion level is 0.IResource is a collection, the
maximum subscription recursion depends on the depth of the collection.resource - the IResource to get the default recursion
level forISubscriptionConditionRecursionLevel with the
maximum recursion levelWcmException - if the operation fails
public boolean isValidCondition(ISubscriptionCondition condition,
IResourceList resourceList)
throws WcmException
isValidCondition(condition, resource) but it checks a
list of resources and not a single resource.condition - the ISubscriptionCondition to validateresourceList - a IResourceList to checkboolean true if the condition is
valid, false if notWcmException - if the operation fails
public boolean isValidCondition(ISubscriptionCondition condition,
IResource resource)
throws WcmException
condition - the ISubscriptionCondition to validateresource - the IResource to checkboolean true if the condition is
valid, false if notWcmException - if the operation fails
public IResourceList getInvalidForCondition(ISubscriptionCondition condition,
IResourceList resourceList)
throws WcmException
condition - the ISubscriptionCondition to check against resourcesresourceList - an IResourceLists to checkIResourceList with the resources that are invalid
for the specified condition, null if all resources are
validWcmException - if the operation failspublic java.lang.String getInstanceID()
String with the name of this manager's instance ID
(if specified). Default is this manager's service ID.
public boolean isValidChannel(IChannel channel,
IRecipientList recipientList)
throws WcmException
isValidChannel(condition, recipient) but it checks whether
the channel is vaild for a list of recipients.channel - the IChannel to validaterecipientList - an IRecipientList to checkboolean true if the channel is
valid for all recipients, false if notWcmException - if the operation failspublic boolean isDefaultChannelActive()
boolean true if a default channel is
active, false if only notification services channels can be used.
public boolean isValidChannel(IChannel channel,
IRecipient recipient)
throws WcmException
channel - the IChannel to validaterecipient - the IRecipient for whom the channel is checkedboolean true if the channel is
valid, false if notWcmException - if the operation fails
public IRecipientList getInvalidForChannel(IChannel channel,
IRecipientList recipients)
throws WcmException
channel - the IChannel to validaterecipients - the IRecipientList to checkIRecipientList with the recipients for which the
specified channel is invalid, null if all recipients are
validWcmException - if the operation fails
public void raiseNotification(IResourceEvent event)
throws WcmException
event - the IResourceEvent on a resource
that triggers notificationWcmException - if the operation fails
public ISubscriptionList createSubscriptionList()
throws WcmException
ISubscriptionList. ISubscriptionListWcmException - if the list can not be created
public ISubscriptionAttributes createSubscriptionAttributes()
throws WcmException
ISubscriptionAttributes. ISubscriptionAttributes is initialized with null values.ISubscriptionAttributes.WcmException - if the attributes can not be created
public ISubscriptionCondition createSubscriptionCondition()
throws WcmException
ISubscriptionCondition. ISubscriptionCondition is initialized with default values.getDefaultCondition... methods of the ISubscriptionManager determine individual
default values.
ISubscriptionCondition.WcmException - if the condition can not be created
public boolean checkPermission(IResourceContext context,
java.lang.String permissionName,
IResourceList resources)
throws WcmException
ISubscriptionManager.
null, a WcmException is thrown.context - the IResourceContext that stores the userpermissionName - a String with the subscription
permission to checkresources - an IResourceList with the resources to checkboolean true if the user has the
required permission, false if notWcmException - if the acl can not be retrieved, the IResourceList is empty, or the
permission name is unknown
public boolean checkPermission(IResourceContext context,
java.lang.String permissionName,
IResource resource)
throws WcmException
null, a WcmException is thrown.context - the IResourceContext to get the user frompermissionName - a String with the subscription
permission to checkresource - an IResource to checkboolean true if the user has the
required permission, false if notWcmException - if the acl can not be retrieved, the IResource is empty, or the
permission name is unknown
|
SAP NetWeaver '04 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||