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