com.bea.commerce.ebusiness.discount.association
Interface DiscountAssociationMgr
- All Superinterfaces:
- EJBObject, Remote
- public interface DiscountAssociationMgr
- extends EJBObject
This interface defines the public interface of the
DiscountAssociationMgr
service. This service is responsible for
associating Customer
s, using thier CustomerPK
,
with discounts. Once the association has been made the number of times the
customer has used the discount is tracked. The user can only use the
discount up to the number of time specified in the discount's
allowedUses field. There is a minor difference in the way user's
become associated with discounts depending on whether the discount is global
or not. For non-global discounts the user must be associated with the
discount, prior to attempting to use it, using either of this class's
add
methods. The discount can then be used, which from the
point of view of this service means calling this class's updateUses
method. This method is called by the pricing service. In the case of global
discounts, which by definition are available to all customers the pricing
serivce simply calls updateUsesGlobal
. This method call will
create the association, setting the use count to 1, if one does not already
exist or attempt to the use count if the association already exists. In
either case if a call to updateUses
or
updateUsesGlobal
would cause the association's use count to
exceed the discount's allowed uses limit those methods will throw a
UseCountLimitException
and not update the association's
use count.
Method Summary |
void |
add(CustomerPk user,
QualificationDiscountId discountId,
String description)
Creates an association between the Customer specified
by the user parameter and the discount specified by the
discountId parameter. |
void |
add(CustomerPk user,
String applicationName,
String discountName,
String description)
Creates an association between the Customer specified
by the user parameter and the discount specified by the
setName and discountName parameters. |
int |
archive()
Not currently implemented, throws UnsupportedOperationException if called |
DeleteResults |
delete(QualificationDiscountId discountId)
Delete the associations for the given discount ID. |
DeleteResults |
delete(String applicationName,
String discountName)
Delete the associations for the given discount described by
set name and discount name |
int |
prune()
Not currently implemented, throws UnsupportedOperationException if called |
int |
prune(QualificationDiscountId discountId)
Not currently implemented, throws UnsupportedOperationException if called |
Set |
queryGlobal(CustomerPk user,
Set idSet)
Gets all of the user 's discount associations where the
discount in the association is global |
Set |
queryUser(CustomerPk user,
Set idSet)
Gets all of the user 's discount associations where the
discount in the association is non-global |
void |
updateUses(CustomerPk user,
Set discountIds)
Updates the use count for each of the associations for this
user whose discount id is in the Set specified
by discountIds . |
void |
updateUsesGlobal(CustomerPk user,
Set discountIds)
Updates the use count for each of the associations for this
user whose discount id is in the Set specified
by discountIds . |
add
public void add(CustomerPk user,
QualificationDiscountId discountId,
String description)
throws RemoteException,
DiscountNotFoundException,
InvalidAssociationException,
AssociationCreationException
- Creates an association between the
Customer
specified
by the user
parameter and the discount specified by the
discountId
parameter. An optional description
may also be supplied that should indicate how or why the association was
created. Only non-global discounts can be associated with a user through
this method call. Any attempt to specify a global discount will result
in an InvalidAssociationException being thrown.
- Parameters:
user
- the CustomerPk
of the customer being associated
with the discount specified by discountId
discountId
- the QualificationDiscountId
of the
discount being associated with the customer specified by user
description
- a String
describing how or why the
association is being created
- Throws:
AssociationCreationException
- if the association could not be
created due to a system level failure
InvalidAssociationException
- if the discount specified is global
DiscountNotFoundException
- if the specified discount cannot
be found.
RemoteException
- on a communication error or other system level
failure
add
public void add(CustomerPk user,
String applicationName,
String discountName,
String description)
throws RemoteException,
DiscountNotFoundException,
InvalidAssociationException,
AssociationCreationException
- Creates an association between the
Customer
specified
by the user
parameter and the discount specified by the
setName
and discountName
parameters. An
optional description
may also be supplied that should
indicate how or why the association was created. Only non-global
discounts can be associated with a user through this method call. Any
attempt to specify a global discount will result in an
InvalidAssociationException being thrown.
- Parameters:
user
- the CustomerPk
of the customer being associated
with the discount specified by setName
and
discountName
applicationName
- the current J2EE application namediscountName
- the discount name of the discount being associated
with the customer specified by user
description
- a String
describing how or why the
association is being created
- Throws:
AssociationCreationException
- if the association coul not be
created due to a system level failure
InvalidAssociationException
- if the discount specified is global
DiscountNotFoundException
- if the specified discount cannot
be found.
RemoteException
- on a communication error or other system level
failure
archive
public int archive()
throws RemoteException
- Not currently implemented, throws UnsupportedOperationException if called
- Throws:
UnsupportedOperationException
- always
RemoteException
- on a communication error or other system level
failure
delete
public DeleteResults delete(QualificationDiscountId discountId)
throws RemoteException,
AssociationDeleteException
- Delete the associations for the given discount ID.
- Parameters:
discountId
- the discount id for which the associations
should be deleted
- Returns:
- a DeleteResults object that describes the associations
deleted and those failed to be deleted.
- Throws:
AssociationDeleteException
- if any failures were encountered
during the delete operation. See the DeleteResults object in the
exception for specifics.
RemoteException
- See Also:
DeleteResults
delete
public DeleteResults delete(String applicationName,
String discountName)
throws RemoteException,
AssociationDeleteException
- Delete the associations for the given discount described by
set name and discount name
- Parameters:
applicationName
- the current J2EE application namediscountName
- the name of the discount.
- Returns:
- a DeleteResults object that describes the associations
deleted and those failed to be deleted.
- Throws:
AssociationDeleteException
- if any failures were encountered
during the delete operation. See the DeleteResults object in the
exception for specifics.
RemoteException
- See Also:
DeleteResults
prune
public int prune()
throws RemoteException
- Not currently implemented, throws UnsupportedOperationException if called
- Throws:
UnsupportedOperationException
- always
RemoteException
- on a communication error or other system level
failure
prune
public int prune(QualificationDiscountId discountId)
throws RemoteException
- Not currently implemented, throws UnsupportedOperationException if called
- Throws:
UnsupportedOperationException
- always
RemoteException
- on a communication error or other system level
failure
queryGlobal
public Set queryGlobal(CustomerPk user,
Set idSet)
throws RemoteException
- Gets all of the
user
's discount associations where the
discount in the association is global
- Parameters:
user
- the CustomerPk
of the customer whose discount
associations are being fetchedidSet
- an empty Set
into which the results of this
method call are placed. Anything previously in the set is deleted.
- Returns:
- a
Set
, the one passed in the idSet
paramter, of DiscountAssociation
objects that have the
specified user
as an element. The set will be empty if
there are no discount associations for the user
- Throws:
RemoteException
- on a communication error or other system level
failure
queryUser
public Set queryUser(CustomerPk user,
Set idSet)
throws RemoteException
- Gets all of the
user
's discount associations where the
discount in the association is non-global
- Parameters:
user
- the CustomerPk
of the customer whose discount
associations are being fetchedidSet
- an empty Set
into which the results of this
method call are placed. Anything previously in the set is deleted.
- Returns:
- a
Set
, the one passed in the idSet
paramter, of DiscountAssociation
objects that have the
specified user
as an element. The set will be empty if
there are no discount associations for the user
- Throws:
RemoteException
- on a communication error or other system level
failure
updateUses
public void updateUses(CustomerPk user,
Set discountIds)
throws RemoteException,
DiscountNotFoundException,
InvalidAssociationException,
UseCountLimitException,
AssociationNotFoundException
- Updates the use count for each of the associations for this
user
whose discount id is in the Set
specified
by discountIds
. If any of the association updates results
in the association's use count exceeding the discount's allowed uses a
UseCountLimitException
is thrown. This method call is
intended for updating associations whose discount is non-global. If any
of the discounts specified in the discountIds
set are global
an InvalidAssociationException is thrown. All of the discount
associations specified must have already been created using one of this
class's add methods.
- Parameters:
user
- the CustomerPk
of the customer whose discount
associations are being updateddiscountIds
- a Set
of
QualificationDiscountId
s that specifies which of the
user
's associations to update
- Throws:
AssociationNotFoundException
- if the association specified by the
user
and any of the QualificationDiscountId
s
in discountIds
can not be found
UseCountLimitException
- if the use count limit has been reached
InvalidAssociationException
- if any of the discounts specified in
discountIds
are global
DiscountNotFoundException
- if any of the discounts specified in
discountIds
can not be found
RemoteException
- on a communication error or other system level
failure
updateUsesGlobal
public void updateUsesGlobal(CustomerPk user,
Set discountIds)
throws RemoteException,
DiscountNotFoundException,
InvalidAssociationException,
UseCountLimitException,
AssociationCreationException
- Updates the use count for each of the associations for this
user
whose discount id is in the Set
specified
by discountIds
. If any of the association updates results
in the association's use count exceeding the discount's allowed uses a
UseCountLimitException
is thrown. This method call is
intended for updating associations whose discount is global. If any
of the discounts specified in the discountIds
set are
non-global an InvalidAssociationException is thrown. This method is
slightly different from updateUses
in that if the
association specified doesn't already exists an attempt will be made to
create it setting it's intial use count to 1.
- Parameters:
user
- the CustomerPk
of the customer whose discount
associations are being updateddiscountIds
- a Set
of
QualificationDiscountId
s that specifies which of the
user
's associations to update
- Throws:
AssociationCreationException
- if a non-existant association was
specified but it could not be created
UseCountLimitException
- if the use count limit has been reached
InvalidAssociationException
- if any of the discounts specified in
discountIds
are non-global
DiscountNotFoundException
- if any of the discounts specified in
discountIds
can not be found
RemoteException
- on a communication error or other system level
failure
Copyright © 2005 BEA Systems, Inc. All Rights Reserved