*/
package org.opendaylight.mdsal.binding.spi;
-import com.google.common.collect.ForwardingObject;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.util.concurrent.FluentFuture;
import java.util.Optional;
import org.opendaylight.mdsal.binding.api.ReadTransaction;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
/**
- * Utility {@link ReadTransaction} implementation which forwards all interface method
- * invocation to a delegate instance.
+ * Utility {@link ReadTransaction} implementation which forwards all interface method invocation to a delegate instance.
*/
-public class ForwardingReadTransaction extends ForwardingObject implements ReadTransaction {
-
+public class ForwardingReadTransaction extends ForwardingTransaction implements ReadTransaction {
private final ReadTransaction delegate;
- protected ForwardingReadTransaction(ReadTransaction delegate) {
- this.delegate = delegate;
+ public ForwardingReadTransaction(final ReadTransaction delegate) {
+ this.delegate = requireNonNull(delegate);
}
@Override
}
@Override
- public <T extends DataObject> FluentFuture<Optional<T>> read(LogicalDatastoreType store,
- InstanceIdentifier<T> path) {
+ public <T extends DataObject> FluentFuture<Optional<T>> read(final LogicalDatastoreType store,
+ final InstanceIdentifier<T> path) {
return delegate.read(store, path);
}
- @Override
- public Object getIdentifier() {
- return delegate.getIdentifier();
- }
-
@Override
public void close() {
delegate.close();
*/
package org.opendaylight.mdsal.binding.spi;
-import com.google.common.collect.ForwardingObject;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.util.concurrent.FluentFuture;
import java.util.Optional;
import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
/**
- * Utility {@link ReadWriteTransaction} implementation which forwards all interface method
- * invocation to a delegate instance.
+ * Utility {@link ReadWriteTransaction} implementation which forwards all interface method invocation to a delegate
+ * instance.
*/
-public class ForwardingReadWriteTransaction extends ForwardingObject implements ReadWriteTransaction {
+public class ForwardingReadWriteTransaction extends ForwardingTransaction implements ReadWriteTransaction {
private final ReadWriteTransaction delegate;
public ForwardingReadWriteTransaction(final ReadWriteTransaction delegate) {
- this.delegate = delegate;
+ this.delegate = requireNonNull(delegate);
}
@Override
return delegate.read(store, path);
}
- @Override
- public Object getIdentifier() {
- return delegate.getIdentifier();
- }
-
@Override
public boolean cancel() {
return delegate.cancel();
--- /dev/null
+/*
+ * Copyright (c) 2018 Pantheon Technologies, s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.binding.spi;
+
+import com.google.common.collect.ForwardingObject;
+import org.opendaylight.mdsal.binding.api.Transaction;
+
+/**
+ * Specialization of {@link ForwardingObject} for a {@link Transaction}.
+ */
+public abstract class ForwardingTransaction extends ForwardingObject implements Transaction {
+ @Override
+ protected abstract Transaction delegate();
+
+ @Override
+ public Object getIdentifier() {
+ return delegate().getIdentifier();
+ }
+}
*/
package org.opendaylight.mdsal.binding.spi;
-import com.google.common.collect.ForwardingObject;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.util.concurrent.FluentFuture;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.common.api.CommitInfo;
* Utility {@link WriteTransaction} implementation which forwards all interface method
* invocation to a delegate instance.
*/
-public class ForwardingWriteTransaction extends ForwardingObject implements WriteTransaction {
-
+public class ForwardingWriteTransaction extends ForwardingTransaction implements WriteTransaction {
private final WriteTransaction delegate;
- protected ForwardingWriteTransaction(WriteTransaction delegate) {
- this.delegate = delegate;
+ public ForwardingWriteTransaction(final WriteTransaction delegate) {
+ this.delegate = requireNonNull(delegate);
}
@Override
}
@Override
- public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
+ public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+ final T data) {
delegate.put(store, path, data);
}
@Override
- public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
- boolean createMissingParents) {
+ public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+ final T data, final boolean createMissingParents) {
delegate.put(store, path, data, createMissingParents);
}
@Override
- public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
+ public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+ final T data) {
delegate.merge(store, path, data);
}
@Override
- public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
- boolean createMissingParents) {
+ public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+ final T data, final boolean createMissingParents) {
delegate.merge(store, path, data, createMissingParents);
}
@Override
- public void delete(LogicalDatastoreType store, InstanceIdentifier<?> path) {
+ public void delete(final LogicalDatastoreType store, final InstanceIdentifier<?> path) {
delegate.delete(store, path);
}
public FluentFuture<? extends CommitInfo> commit() {
return delegate.commit();
}
-
- @Override
- public Object getIdentifier() {
- return delegate.getIdentifier();
- }
}