ac1f1ce59f5d6f8aba9de80bad830389367a15e7
[policy/drools-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * api-active-standby-management
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.drools.activestandby;
22
23 import org.onap.policy.drools.utils.OrderedService;
24 import org.onap.policy.drools.utils.OrderedServiceImpl;
25
26 /**
27  * This interface provides a way to invoke optional features at various points in the code. At
28  * appropriate points in the application, the code iterates through this list, invoking these
29  * optional methods.
30  */
31 public interface ActiveStandbyFeatureAPI extends OrderedService {
32     /**
33      * 'FeatureAPI.impl.getList()' returns an ordered list of objects implementing the 'FeatureAPI'
34      * interface.
35      */
36     public static OrderedServiceImpl<ActiveStandbyFeatureAPI> impl =
37             new OrderedServiceImpl<>(ActiveStandbyFeatureAPI.class);
38
39     /**
40      * Returns the resourceName (PDP ID) for the Drools-PDP that is
41      * currently designated as active.
42      * 
43      * @return String (resourceName)
44      */
45     public String getPdpdNowActive();
46
47     /**
48      * Returns the resourceName (PDP ID) for the Drools-PDP that is
49      * previously designated as active.
50      * 
51      * @return String (resourceName)
52      */
53     public String getPdpdLastActive();
54
55     /**
56      * Returns the resourceName associated with this instance of the feature.
57      *  
58      * @return String (resourceName)
59      */
60     public String getResourceName();
61 }