From fcc36c9530a5615289b9ee697f05e3862f948f8f Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Wed, 16 Jul 2014 14:22:52 +0200 Subject: [PATCH] API Usability: Introduced type capture for Transaction Factory Change-Id: If74733ce5464e294522abf79f9433849466a1f56 Signed-off-by: Tony Tkacik --- .../binding/api/BindingTransactionChain.java | 2 +- .../md/sal/binding/api/DataBroker.java | 3 ++- .../sal/binding/api/TransactionFactory.java | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/TransactionFactory.java diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/BindingTransactionChain.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/BindingTransactionChain.java index eac65ad677..24ec89ebb2 100644 --- a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/BindingTransactionChain.java +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/BindingTransactionChain.java @@ -4,7 +4,7 @@ import org.opendaylight.controller.md.sal.common.api.data.TransactionChain; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -public interface BindingTransactionChain extends TransactionChain, DataObject> { +public interface BindingTransactionChain extends TransactionFactory, TransactionChain, DataObject> { @Override ReadOnlyTransaction newReadOnlyTransaction(); diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/DataBroker.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/DataBroker.java index b60d8ff1be..ed43487df9 100644 --- a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/DataBroker.java +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/DataBroker.java @@ -20,7 +20,8 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; *

* For more information on usage, please see the documentation in {@link AsyncDataBroker}. */ -public interface DataBroker extends AsyncDataBroker, DataObject, DataChangeListener>, BindingService, TransactionChainFactory, DataObject> { +public interface DataBroker extends TransactionFactory, AsyncDataBroker, DataObject, DataChangeListener>, BindingService, TransactionChainFactory, DataObject> { + @Override ReadOnlyTransaction newReadOnlyTransaction(); diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/TransactionFactory.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/TransactionFactory.java new file mode 100644 index 0000000000..4483cf9d66 --- /dev/null +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/md/sal/binding/api/TransactionFactory.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. 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.controller.md.sal.binding.api; + +import org.opendaylight.controller.md.sal.common.api.data.AsyncDataTransactionFactory; +import org.opendaylight.yangtools.yang.binding.DataObject; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; + +public interface TransactionFactory extends AsyncDataTransactionFactory, DataObject>{ + + @Override + ReadOnlyTransaction newReadOnlyTransaction(); + + @Override + ReadWriteTransaction newReadWriteTransaction(); + + @Override + WriteTransaction newWriteOnlyTransaction(); + +} -- 2.36.6