[PORTAL-7] Rebase
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / service / SharedContextService.java
1 /*-\r
2  * ================================================================================\r
3  * ECOMP Portal\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ================================================================================\r
19  */\r
20 package org.openecomp.portalapp.portal.service;\r
21 \r
22 import java.util.List;\r
23 \r
24 import org.openecomp.portalapp.portal.domain.SharedContext;\r
25 \r
26 /**\r
27  * Defines the methods exposed by the service that manages shared context\r
28  * objects in the database via Hibernate.\r
29  */\r
30 public interface SharedContextService {\r
31 \r
32         /**\r
33          * Gets all shared context objects for the specified context ID.\r
34          * \r
35          * @return List of SharedContext objects\r
36          */\r
37         List<SharedContext> getSharedContexts(String contextId);\r
38 \r
39         /**\r
40          * Gets the shared context with the specified context ID and key.\r
41          * \r
42          * @param contextId\r
43          *            Context ID; usually a session ID\r
44          * @param key\r
45          *            Key for the key-value pair\r
46          * @return Value found in the database, null if any parameter is null or no\r
47          *         shared context exists with that context ID - key pair.\r
48          */\r
49         SharedContext getSharedContext(String contextId, String key);\r
50 \r
51         /**\r
52          * Creates a new shared context in the database with the specified context\r
53          * ID, key and value.\r
54          * \r
55          * @param context\r
56          *            SharedContext object to save.\r
57          * @param key\r
58          *            Key for the key-value pair.\r
59          * @param value\r
60          *            Value for the key-value pair.\r
61          */\r
62         void addSharedContext(String contextId, String key, String value);\r
63 \r
64         /**\r
65          * Saves the specified shared context to the database.\r
66          * \r
67          * @param context\r
68          *            SharedContext object to save.\r
69          */\r
70         void saveSharedContext(SharedContext context);\r
71 \r
72         /**\r
73          * Deletes the specified shared context from the database.\r
74          * \r
75          * @param context\r
76          *            SharedContext object to delete.\r
77          */\r
78         void deleteSharedContext(SharedContext context);\r
79 \r
80         /**\r
81          * Deletes all shared contexts with the specified context ID.\r
82          * \r
83          * @param contextId\r
84          *            Context ID; usually a session ID\r
85          * @return number of shared-context objects deleted\r
86          */\r
87         int deleteSharedContexts(String contextId);\r
88 \r
89         /**\r
90          * Deletes all shared contexts with a creation time that is older than the\r
91          * specified value.\r
92          * \r
93          * @param ageInSeconds\r
94          *            Expiration threshold in seconds\r
95          */\r
96         void expireSharedContexts(int ageInSeconds);\r
97 \r
98 }\r