a5077e9dd2ff9a58c116ee67e881547236967ef6
[federation.git] / gateway / src / main / java / org / acumos / federation / gateway / service / PeerService.java
1 /*-
2  * ===============LICENSE_START=======================================================
3  * Acumos
4  * ===================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property & Tech Mahindra. All rights reserved.
6  * ===================================================================================
7  * This Acumos software file is distributed by AT&T and Tech Mahindra
8  * under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *  
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *  
14  * This file 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.acumos.federation.gateway.service;
22
23 import java.util.List;
24
25 import org.acumos.cds.domain.MLPPeer;
26
27 /**
28  * 
29  *
30  */
31 public interface PeerService {
32
33         /**
34          * @return List of Peers configured in the Local Acumos Instance
35          */
36         List<MLPPeer> getPeers();
37         
38         /**
39          * @return Peer based on the configured Subject Name
40          */
41         List<MLPPeer> getPeer(String subjectName);
42         
43         MLPPeer getOnePeer(String peerId);
44         
45         /**
46          * @param mlpPeer MLPPeer Configuration that needs to be created on the Platform
47          * 
48          * @return Peer configuration that has been created.
49          */
50         MLPPeer savePeer(MLPPeer mlpPeer);
51         
52         
53         /**
54          * @param mlpPeer MLPPeer Configuration that needs to be updated on the Platform
55          * 
56          * @return Peer configuration that has been updated.
57          */
58         boolean updatePeer(MLPPeer mlpPeer);
59         
60         /**
61          * @param mlpPeer MLPPeer Configuration that needs to be deleted on the Platform
62          * 
63          * @return true if successfully deleted else false.
64          */
65         boolean deletePeer(MLPPeer mlpPeer);
66 }