...
Date: | Author: | Version: | Changes: | Completed | Ext. | Int. | Is in Core | Jira Ref. |
---|---|---|---|---|---|---|---|---|
14 Juni 2013 | Thomas Hjorth
| 0.1 | Doc. created | No |
| x | Not yet | CDRP-5829 and CDRP-6067 |
18 June 2013 18 June 2013 | THJ | 1.0 | Doc. finished in Version 1.0 | Yes |
| x | 8.18 | CDRP-5829 and CDRP-6067 |
...
The interface, abstract classes, and specific implementations can be grouped into two layers: Backend Layer and Core Layer.
Backend Layer
In this This layer you find has the basic building blocks. The classes you find in this layer basically only handles handle one thing for one class. Or it It can be a bean , which is just a collection of classes that shares some kind of relationship, but it does not operate on them (= only implement implements getters and setters).
Core Layer
In this This layer you find has the elements that bind the system's basic building blocks and actions together. The classes you find in this layer often handles handle more than one object, using Core logic to relate the objects and the actions you perform on each of them.
...
For most actual work you will get another object through this interface, and this other object will then be used to handle the more specific requests, e. E.g. if you want to find all the SubscriptionCampaigns that owned by a specific Subscription owns, then you ask this interface is asked to get an object that implements the SubscriptionCampaignFinder interface, and then you ask this other object is asked to find the Subscription's SubscriptionCampaigns.
It is also Also through this interface that you it can check be checked whether SubscriptionCampaign sharing is enabled at all.
...
A class that implements this interface is used for finding SubscriptionCampaigns for a specific Subscription. It can either be the SCs owned by the subscription owns itself, or the SCs that the Subscription has can access to through sharing. These are the relations that are called 2A and 2B on this figure /wiki/spaces/Billing/pages/109165251.
In Core, this interface is implemented by the class CoreSubscriptionCampaignFinder.
...
A class that implements this interface is used for finding all the Sharing Groups relations a specific SubscriptionCampaign participates in. This is the relation that is called 1B on this figure /wiki/spaces/Billing/pages/109165251.
Note that the returned result is not a specific SubscriptionCampaign, but rather a SubscriptionCampaignSharingBean (or some collection of these).
...
A class that implements this interface knows how to translate information about a shared SubscriptionCampaign into a SubscriptionCampaignSharingBean. There will be one class implementing this interface per sharing method. Each of these classes know knows which specific sharing method it covers.
...
In Backend, this interface is implemented by the classes Subscription, BillingGroup, and Account.
Class Diagram
Drawio | ||||
---|---|---|---|---|
|