001/* 002 * Copyright 2010-2018 Ping Identity Corporation 003 * All Rights Reserved. 004 */ 005/* 006 * Copyright (C) 2015-2018 Ping Identity Corporation 007 * 008 * This program is free software; you can redistribute it and/or modify 009 * it under the terms of the GNU General Public License (GPLv2 only) 010 * or the terms of the GNU Lesser General Public License (LGPLv2.1 only) 011 * as published by the Free Software Foundation. 012 * 013 * This program is distributed in the hope that it will be useful, 014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 016 * GNU General Public License for more details. 017 * 018 * You should have received a copy of the GNU General Public License 019 * along with this program; if not, see <http://www.gnu.org/licenses>. 020 */ 021package com.unboundid.ldap.sdk.unboundidds.extensions; 022 023 024 025import com.unboundid.ldap.sdk.IntermediateResponse; 026import com.unboundid.util.Extensible; 027import com.unboundid.util.ThreadSafety; 028import com.unboundid.util.ThreadSafetyLevel; 029 030 031 032/** 033 * This interface defines a set of methods that will be invoked when an 034 * intermediate response is returned in the course of processing a get changelog 035 * batch extended operation. It may be used to process changelog entries as 036 * they are returned by the server rather than accessing them in a list when the 037 * extended result has been received. 038 * <BR> 039 * <BLOCKQUOTE> 040 * <B>NOTE:</B> This class, and other classes within the 041 * {@code com.unboundid.ldap.sdk.unboundidds} package structure, are only 042 * supported for use against Ping Identity, UnboundID, and 043 * Nokia/Alcatel-Lucent 8661 server products. These classes provide support 044 * for proprietary functionality or for external specifications that are not 045 * considered stable or mature enough to be guaranteed to work in an 046 * interoperable way with other types of LDAP servers. 047 * </BLOCKQUOTE> 048 */ 049@Extensible() 050@ThreadSafety(level=ThreadSafetyLevel.INTERFACE_NOT_THREADSAFE) 051public interface ChangelogEntryListener 052{ 053 /** 054 * Performs any processing necessary for a changelog entry intermediate 055 * response returned by the server. 056 * 057 * @param ir The changelog entry intermediate response that was returned by 058 * the server. 059 */ 060 void handleChangelogEntry(ChangelogEntryIntermediateResponse ir); 061 062 063 064 /** 065 * Performs any processing necessary for a missing changelog entries 066 * intermediate response returned by the server. 067 * 068 * @param ir The missing changelog entries intermediate response that was 069 * returned by the server. 070 */ 071 void handleMissingChangelogEntries( 072 MissingChangelogEntriesIntermediateResponse ir); 073 074 075 076 /** 077 * Performs any processing necessary for some other type of intermediate 078 * response returned during processing for a get changelog batch extended 079 * operation. This method may do nothing if this implementation does not 080 * provide support for any other types of intermediate responses. 081 * 082 * @param ir The generic entry intermediate response that was returned by 083 * the server. 084 */ 085 void handleOtherIntermediateResponse(IntermediateResponse ir); 086}