001/* 002 * Copyright 2022-2024 Ping Identity Corporation 003 * All Rights Reserved. 004 */ 005/* 006 * Copyright 2022-2024 Ping Identity Corporation 007 * 008 * Licensed under the Apache License, Version 2.0 (the "License"); 009 * you may not use this file except in compliance with the License. 010 * You may obtain a copy of the License at 011 * 012 * http://www.apache.org/licenses/LICENSE-2.0 013 * 014 * Unless required by applicable law or agreed to in writing, software 015 * distributed under the License is distributed on an "AS IS" BASIS, 016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 017 * See the License for the specific language governing permissions and 018 * limitations under the License. 019 */ 020/* 021 * Copyright (C) 2022-2024 Ping Identity Corporation 022 * 023 * This program is free software; you can redistribute it and/or modify 024 * it under the terms of the GNU General Public License (GPLv2 only) 025 * or the terms of the GNU Lesser General Public License (LGPLv2.1 only) 026 * as published by the Free Software Foundation. 027 * 028 * This program is distributed in the hope that it will be useful, 029 * but WITHOUT ANY WARRANTY; without even the implied warranty of 030 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 031 * GNU General Public License for more details. 032 * 033 * You should have received a copy of the GNU General Public License 034 * along with this program; if not, see <http://www.gnu.org/licenses>. 035 */ 036package com.unboundid.ldap.sdk.unboundidds.logs.v2.json; 037 038 039 040import java.util.List; 041import java.util.Set; 042 043import com.unboundid.ldap.sdk.ResultCode; 044import com.unboundid.ldap.sdk.unboundidds.controls.AssuredReplicationLocalLevel; 045import com.unboundid.ldap.sdk.unboundidds.controls. 046 AssuredReplicationRemoteLevel; 047import com.unboundid.ldap.sdk.unboundidds.logs.AccessLogMessageType; 048import com.unboundid.ldap.sdk.unboundidds.logs.LogException; 049import com.unboundid.ldap.sdk.unboundidds.logs.v2. 050 ModifyDNResultAccessLogMessage; 051import com.unboundid.util.NotExtensible; 052import com.unboundid.util.NotMutable; 053import com.unboundid.util.NotNull; 054import com.unboundid.util.Nullable; 055import com.unboundid.util.ThreadSafety; 056import com.unboundid.util.ThreadSafetyLevel; 057import com.unboundid.util.json.JSONObject; 058 059 060 061/** 062 * This class provides a data structure that holds information about a 063 * JSON-formatted modify DN result access log message. 064 * <BR> 065 * <BLOCKQUOTE> 066 * <B>NOTE:</B> This class, and other classes within the 067 * {@code com.unboundid.ldap.sdk.unboundidds} package structure, are only 068 * supported for use against Ping Identity, UnboundID, and 069 * Nokia/Alcatel-Lucent 8661 server products. These classes provide support 070 * for proprietary functionality or for external specifications that are not 071 * considered stable or mature enough to be guaranteed to work in an 072 * interoperable way with other types of LDAP servers. 073 * </BLOCKQUOTE> 074 */ 075@NotExtensible() 076@NotMutable() 077@ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE) 078public class JSONModifyDNResultAccessLogMessage 079 extends JSONModifyDNRequestAccessLogMessage 080 implements ModifyDNResultAccessLogMessage 081{ 082 /** 083 * The serial version UID for this serializable class. 084 */ 085 private static final long serialVersionUID = -1217927948966918856L; 086 087 088 089 // The forward helper for this access log message. 090 @NotNull private final JSONForwardAccessLogMessageHelper forwardHelper; 091 092 // The result helper for this access log message. 093 @NotNull private final JSONResultAccessLogMessageHelper resultHelper; 094 095 096 097 /** 098 * Creates a new JSON modify DN result access log message from the provided 099 * JSON object. 100 * 101 * @param jsonObject The JSON object that contains an encoded representation 102 * of this log message. It must not be {@code null}. 103 * 104 * @throws LogException If the provided JSON object cannot be parsed as a 105 * valid log message. 106 */ 107 public JSONModifyDNResultAccessLogMessage( 108 @NotNull final JSONObject jsonObject) 109 throws LogException 110 { 111 super(jsonObject); 112 113 resultHelper = new JSONResultAccessLogMessageHelper(this); 114 forwardHelper = new JSONForwardAccessLogMessageHelper(this); 115 } 116 117 118 119 /** 120 * {@inheritDoc} 121 */ 122 @Override() 123 @NotNull() 124 public AccessLogMessageType getMessageType() 125 { 126 return AccessLogMessageType.RESULT; 127 } 128 129 130 131 /** 132 * {@inheritDoc} 133 */ 134 @Override() 135 @Nullable() 136 public final ResultCode getResultCode() 137 { 138 return resultHelper.getResultCode(); 139 } 140 141 142 143 /** 144 * {@inheritDoc} 145 */ 146 @Override() 147 @Nullable() 148 public final String getDiagnosticMessage() 149 { 150 return resultHelper.getDiagnosticMessage(); 151 } 152 153 154 155 /** 156 * {@inheritDoc} 157 */ 158 @Override() 159 @Nullable() 160 public final String getAdditionalInformation() 161 { 162 return resultHelper.getAdditionalInformation(); 163 } 164 165 166 167 /** 168 * {@inheritDoc} 169 */ 170 @Override() 171 @Nullable() 172 public final String getMatchedDN() 173 { 174 return resultHelper.getMatchedDN(); 175 } 176 177 178 179 /** 180 * {@inheritDoc} 181 */ 182 @Override() 183 @NotNull() 184 public final List<String> getReferralURLs() 185 { 186 return resultHelper.getReferralURLs(); 187 } 188 189 190 191 /** 192 * {@inheritDoc} 193 */ 194 @Override() 195 @Nullable() 196 public final Double getProcessingTimeMillis() 197 { 198 return resultHelper.getProcessingTimeMillis(); 199 } 200 201 202 203 /** 204 * {@inheritDoc} 205 */ 206 @Override() 207 @Nullable() 208 public final Double getWorkQueueWaitTimeMillis() 209 { 210 return resultHelper.getWorkQueueWaitTimeMillis(); 211 } 212 213 214 215 /** 216 * {@inheritDoc} 217 */ 218 @Override() 219 @NotNull() 220 public final Set<String> getResponseControlOIDs() 221 { 222 return resultHelper.getResponseControlOIDs(); 223 } 224 225 226 227 /** 228 * {@inheritDoc} 229 */ 230 @Override() 231 @Nullable() 232 public final Long getIntermediateResponsesReturned() 233 { 234 return resultHelper.getIntermediateResponsesReturned(); 235 } 236 237 238 239 /** 240 * {@inheritDoc} 241 */ 242 @Override() 243 @NotNull() 244 public final List<String> getServersAccessed() 245 { 246 return resultHelper.getServersAccessed(); 247 } 248 249 250 251 /** 252 * {@inheritDoc} 253 */ 254 @Override() 255 @Nullable() 256 public final Boolean getUncachedDataAccessed() 257 { 258 return resultHelper.getUncachedDataAccessed(); 259 } 260 261 262 263 /** 264 * {@inheritDoc} 265 */ 266 @Override() 267 @NotNull() 268 public final Set<String> getUsedPrivileges() 269 { 270 return resultHelper.getUsedPrivileges(); 271 } 272 273 274 275 /** 276 * {@inheritDoc} 277 */ 278 @Override() 279 @NotNull() 280 public final Set<String> getPreAuthorizationUsedPrivileges() 281 { 282 return resultHelper.getPreAuthorizationUsedPrivileges(); 283 } 284 285 286 287 /** 288 * {@inheritDoc} 289 */ 290 @Override() 291 @NotNull() 292 public final Set<String> getMissingPrivileges() 293 { 294 return resultHelper.getMissingPrivileges(); 295 } 296 297 298 299 /** 300 * {@inheritDoc} 301 */ 302 @Override() 303 @Nullable() 304 public final String getAlternateAuthorizationDN() 305 { 306 return resultHelper.getAlternateAuthorizationDN(); 307 } 308 309 310 311 /** 312 * {@inheritDoc} 313 */ 314 @Override() 315 @Nullable() 316 public final String getReplicationChangeID() 317 { 318 return resultHelper.getReplicationChangeID(); 319 } 320 321 322 323 /** 324 * {@inheritDoc} 325 */ 326 @Override() 327 @Nullable() 328 public final AssuredReplicationLocalLevel getAssuredReplicationLocalLevel() 329 { 330 return resultHelper.getAssuredReplicationLocalLevel(); 331 } 332 333 334 335 /** 336 * {@inheritDoc} 337 */ 338 @Override() 339 @Nullable() 340 public final AssuredReplicationRemoteLevel getAssuredReplicationRemoteLevel() 341 { 342 return resultHelper.getAssuredReplicationRemoteLevel(); 343 } 344 345 346 347 /** 348 * {@inheritDoc} 349 */ 350 @Override() 351 @Nullable() 352 public final Long getAssuredReplicationTimeoutMillis() 353 { 354 return resultHelper.getAssuredReplicationTimeoutMillis(); 355 } 356 357 358 359 /** 360 * {@inheritDoc} 361 */ 362 @Override() 363 @Nullable() 364 public final Boolean getResponseDelayedByAssurance() 365 { 366 return resultHelper.getResponseDelayedByAssurance(); 367 } 368 369 370 371 /** 372 * {@inheritDoc} 373 */ 374 @Override() 375 @NotNull() 376 public final Set<String> getIndexesWithKeysAccessedNearEntryLimit() 377 { 378 return resultHelper.getIndexesWithKeysAccessedNearEntryLimit(); 379 } 380 381 382 383 /** 384 * {@inheritDoc} 385 */ 386 @Override() 387 @NotNull() 388 public final Set<String> getIndexesWithKeysAccessedExceedingEntryLimit() 389 { 390 return resultHelper.getIndexesWithKeysAccessedExceedingEntryLimit(); 391 } 392 393 394 395 /** 396 * Retrieves information about an intermediate client response control 397 * included in the log message. 398 * 399 * @return An intermediate client response control included in the log 400 * message, or {@code null} if no intermediate client response 401 * control is available. 402 */ 403 @Nullable() 404 public final JSONIntermediateClientResponseControl 405 getIntermediateClientResponseControl() 406 { 407 return resultHelper.getIntermediateClientResponseControl(); 408 } 409 410 411 412 /** 413 * {@inheritDoc} 414 */ 415 @Override() 416 @Nullable() 417 public final String getTargetHost() 418 { 419 return forwardHelper.getTargetHost(); 420 } 421 422 423 424 /** 425 * {@inheritDoc} 426 */ 427 @Override() 428 @Nullable() 429 public final Integer getTargetPort() 430 { 431 return forwardHelper.getTargetPort(); 432 } 433 434 435 436 /** 437 * {@inheritDoc} 438 */ 439 @Override() 440 @Nullable() 441 public final String getTargetProtocol() 442 { 443 return forwardHelper.getTargetProtocol(); 444 } 445}