2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.cluster.access.commands;
10 import akka.actor.ActorRef;
11 import java.io.ObjectInput;
12 import org.opendaylight.controller.cluster.access.ABIVersion;
13 import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
16 * Request to purge a local history. This request is sent by the client once it receives a successful reply to
17 * {@link DestroyLocalHistoryRequest} and indicates it has removed all state attached to a particular local history.
19 public final class PurgeLocalHistoryRequest extends LocalHistoryRequest<PurgeLocalHistoryRequest> {
20 interface SerialForm extends LocalHistoryRequest.SerialForm<PurgeLocalHistoryRequest> {
22 default PurgeLocalHistoryRequest readExternal(final ObjectInput in, final LocalHistoryIdentifier target,
23 final long sequence, final ActorRef replyTo) {
24 return new PurgeLocalHistoryRequest(target, sequence, replyTo);
29 private static final long serialVersionUID = 1L;
31 public PurgeLocalHistoryRequest(final LocalHistoryIdentifier target, final long sequence, final ActorRef replyTo) {
32 super(target, sequence, replyTo);
35 private PurgeLocalHistoryRequest(final PurgeLocalHistoryRequest request, final ABIVersion version) {
36 super(request, version);
40 protected SerialForm externalizableProxy(final ABIVersion version) {
41 return ABIVersion.MAGNESIUM.lt(version) ? new PHR(this) : new PurgeLocalHistoryRequestProxyV1(this);
45 protected PurgeLocalHistoryRequest cloneAsVersion(final ABIVersion version) {
46 return new PurgeLocalHistoryRequest(this, version);