001package com.box.sdkgen.managers.shieldinformationbarriersegmentmembers; 002 003import static com.box.sdkgen.internal.utils.UtilsManager.convertToString; 004import static com.box.sdkgen.internal.utils.UtilsManager.entryOf; 005import static com.box.sdkgen.internal.utils.UtilsManager.mapOf; 006import static com.box.sdkgen.internal.utils.UtilsManager.mergeMaps; 007import static com.box.sdkgen.internal.utils.UtilsManager.prepareParams; 008 009import com.box.sdkgen.networking.auth.Authentication; 010import com.box.sdkgen.networking.fetchoptions.FetchOptions; 011import com.box.sdkgen.networking.fetchoptions.ResponseFormat; 012import com.box.sdkgen.networking.fetchresponse.FetchResponse; 013import com.box.sdkgen.networking.network.NetworkSession; 014import com.box.sdkgen.schemas.shieldinformationbarriersegmentmember.ShieldInformationBarrierSegmentMember; 015import com.box.sdkgen.schemas.shieldinformationbarriersegmentmembers.ShieldInformationBarrierSegmentMembers; 016import com.box.sdkgen.serialization.json.JsonManager; 017import java.util.Map; 018 019public class ShieldInformationBarrierSegmentMembersManager { 020 021 public Authentication auth; 022 023 public NetworkSession networkSession; 024 025 public ShieldInformationBarrierSegmentMembersManager() { 026 this.networkSession = new NetworkSession(); 027 } 028 029 protected ShieldInformationBarrierSegmentMembersManager(Builder builder) { 030 this.auth = builder.auth; 031 this.networkSession = builder.networkSession; 032 } 033 034 /** 035 * Retrieves a shield information barrier segment member by its ID. 036 * 037 * @param shieldInformationBarrierSegmentMemberId The ID of the shield information barrier segment 038 * Member. Example: "7815" 039 */ 040 public ShieldInformationBarrierSegmentMember getShieldInformationBarrierSegmentMemberById( 041 String shieldInformationBarrierSegmentMemberId) { 042 return getShieldInformationBarrierSegmentMemberById( 043 shieldInformationBarrierSegmentMemberId, 044 new GetShieldInformationBarrierSegmentMemberByIdHeaders()); 045 } 046 047 /** 048 * Retrieves a shield information barrier segment member by its ID. 049 * 050 * @param shieldInformationBarrierSegmentMemberId The ID of the shield information barrier segment 051 * Member. Example: "7815" 052 * @param headers Headers of getShieldInformationBarrierSegmentMemberById method 053 */ 054 public ShieldInformationBarrierSegmentMember getShieldInformationBarrierSegmentMemberById( 055 String shieldInformationBarrierSegmentMemberId, 056 GetShieldInformationBarrierSegmentMemberByIdHeaders headers) { 057 Map<String, String> headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); 058 FetchResponse response = 059 this.networkSession 060 .getNetworkClient() 061 .fetch( 062 new FetchOptions.Builder( 063 String.join( 064 "", 065 this.networkSession.getBaseUrls().getBaseUrl(), 066 "/2.0/shield_information_barrier_segment_members/", 067 convertToString(shieldInformationBarrierSegmentMemberId)), 068 "GET") 069 .headers(headersMap) 070 .responseFormat(ResponseFormat.JSON) 071 .auth(this.auth) 072 .networkSession(this.networkSession) 073 .build()); 074 return JsonManager.deserialize(response.getData(), ShieldInformationBarrierSegmentMember.class); 075 } 076 077 /** 078 * Deletes a shield information barrier segment member based on provided ID. 079 * 080 * @param shieldInformationBarrierSegmentMemberId The ID of the shield information barrier segment 081 * Member. Example: "7815" 082 */ 083 public void deleteShieldInformationBarrierSegmentMemberById( 084 String shieldInformationBarrierSegmentMemberId) { 085 deleteShieldInformationBarrierSegmentMemberById( 086 shieldInformationBarrierSegmentMemberId, 087 new DeleteShieldInformationBarrierSegmentMemberByIdHeaders()); 088 } 089 090 /** 091 * Deletes a shield information barrier segment member based on provided ID. 092 * 093 * @param shieldInformationBarrierSegmentMemberId The ID of the shield information barrier segment 094 * Member. Example: "7815" 095 * @param headers Headers of deleteShieldInformationBarrierSegmentMemberById method 096 */ 097 public void deleteShieldInformationBarrierSegmentMemberById( 098 String shieldInformationBarrierSegmentMemberId, 099 DeleteShieldInformationBarrierSegmentMemberByIdHeaders headers) { 100 Map<String, String> headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); 101 FetchResponse response = 102 this.networkSession 103 .getNetworkClient() 104 .fetch( 105 new FetchOptions.Builder( 106 String.join( 107 "", 108 this.networkSession.getBaseUrls().getBaseUrl(), 109 "/2.0/shield_information_barrier_segment_members/", 110 convertToString(shieldInformationBarrierSegmentMemberId)), 111 "DELETE") 112 .headers(headersMap) 113 .responseFormat(ResponseFormat.NO_CONTENT) 114 .auth(this.auth) 115 .networkSession(this.networkSession) 116 .build()); 117 } 118 119 /** 120 * Lists shield information barrier segment members based on provided segment IDs. 121 * 122 * @param queryParams Query parameters of getShieldInformationBarrierSegmentMembers method 123 */ 124 public ShieldInformationBarrierSegmentMembers getShieldInformationBarrierSegmentMembers( 125 GetShieldInformationBarrierSegmentMembersQueryParams queryParams) { 126 return getShieldInformationBarrierSegmentMembers( 127 queryParams, new GetShieldInformationBarrierSegmentMembersHeaders()); 128 } 129 130 /** 131 * Lists shield information barrier segment members based on provided segment IDs. 132 * 133 * @param queryParams Query parameters of getShieldInformationBarrierSegmentMembers method 134 * @param headers Headers of getShieldInformationBarrierSegmentMembers method 135 */ 136 public ShieldInformationBarrierSegmentMembers getShieldInformationBarrierSegmentMembers( 137 GetShieldInformationBarrierSegmentMembersQueryParams queryParams, 138 GetShieldInformationBarrierSegmentMembersHeaders headers) { 139 Map<String, String> queryParamsMap = 140 prepareParams( 141 mapOf( 142 entryOf( 143 "shield_information_barrier_segment_id", 144 convertToString(queryParams.getShieldInformationBarrierSegmentId())), 145 entryOf("marker", convertToString(queryParams.getMarker())), 146 entryOf("limit", convertToString(queryParams.getLimit())))); 147 Map<String, String> headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); 148 FetchResponse response = 149 this.networkSession 150 .getNetworkClient() 151 .fetch( 152 new FetchOptions.Builder( 153 String.join( 154 "", 155 this.networkSession.getBaseUrls().getBaseUrl(), 156 "/2.0/shield_information_barrier_segment_members"), 157 "GET") 158 .params(queryParamsMap) 159 .headers(headersMap) 160 .responseFormat(ResponseFormat.JSON) 161 .auth(this.auth) 162 .networkSession(this.networkSession) 163 .build()); 164 return JsonManager.deserialize( 165 response.getData(), ShieldInformationBarrierSegmentMembers.class); 166 } 167 168 /** 169 * Creates a new shield information barrier segment member. 170 * 171 * @param requestBody Request body of createShieldInformationBarrierSegmentMember method 172 */ 173 public ShieldInformationBarrierSegmentMember createShieldInformationBarrierSegmentMember( 174 CreateShieldInformationBarrierSegmentMemberRequestBody requestBody) { 175 return createShieldInformationBarrierSegmentMember( 176 requestBody, new CreateShieldInformationBarrierSegmentMemberHeaders()); 177 } 178 179 /** 180 * Creates a new shield information barrier segment member. 181 * 182 * @param requestBody Request body of createShieldInformationBarrierSegmentMember method 183 * @param headers Headers of createShieldInformationBarrierSegmentMember method 184 */ 185 public ShieldInformationBarrierSegmentMember createShieldInformationBarrierSegmentMember( 186 CreateShieldInformationBarrierSegmentMemberRequestBody requestBody, 187 CreateShieldInformationBarrierSegmentMemberHeaders headers) { 188 Map<String, String> headersMap = prepareParams(mergeMaps(mapOf(), headers.getExtraHeaders())); 189 FetchResponse response = 190 this.networkSession 191 .getNetworkClient() 192 .fetch( 193 new FetchOptions.Builder( 194 String.join( 195 "", 196 this.networkSession.getBaseUrls().getBaseUrl(), 197 "/2.0/shield_information_barrier_segment_members"), 198 "POST") 199 .headers(headersMap) 200 .data(JsonManager.serialize(requestBody)) 201 .contentType("application/json") 202 .responseFormat(ResponseFormat.JSON) 203 .auth(this.auth) 204 .networkSession(this.networkSession) 205 .build()); 206 return JsonManager.deserialize(response.getData(), ShieldInformationBarrierSegmentMember.class); 207 } 208 209 public Authentication getAuth() { 210 return auth; 211 } 212 213 public NetworkSession getNetworkSession() { 214 return networkSession; 215 } 216 217 public static class Builder { 218 219 protected Authentication auth; 220 221 protected NetworkSession networkSession; 222 223 public Builder() {} 224 225 public Builder auth(Authentication auth) { 226 this.auth = auth; 227 return this; 228 } 229 230 public Builder networkSession(NetworkSession networkSession) { 231 this.networkSession = networkSession; 232 return this; 233 } 234 235 public ShieldInformationBarrierSegmentMembersManager build() { 236 if (this.networkSession == null) { 237 this.networkSession = new NetworkSession(); 238 } 239 return new ShieldInformationBarrierSegmentMembersManager(this); 240 } 241 } 242}