Do not generate 'isFoo()' methods
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / main / java / org / opendaylight / mdsal / binding / dom / adapter / BindingDOMDataTreeProducerAdapter.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.mdsal.binding.dom.adapter;
9
10 import java.util.Collection;
11 import org.opendaylight.mdsal.binding.api.CursorAwareWriteTransaction;
12 import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
13 import org.opendaylight.mdsal.binding.api.DataTreeProducer;
14 import org.opendaylight.mdsal.binding.api.DataTreeProducerException;
15 import org.opendaylight.mdsal.dom.api.DOMDataTreeCursorAwareTransaction;
16 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
17 import org.opendaylight.mdsal.dom.api.DOMDataTreeProducer;
18 import org.opendaylight.mdsal.dom.api.DOMDataTreeProducerException;
19
20 final class BindingDOMDataTreeProducerAdapter extends AbstractBindingAdapter<DOMDataTreeProducer>
21         implements DataTreeProducer {
22     BindingDOMDataTreeProducerAdapter(final AdapterContext adapterContext, final DOMDataTreeProducer delegate) {
23         super(adapterContext, delegate);
24     }
25
26     @Override
27     public CursorAwareWriteTransaction createTransaction(final boolean isolated) {
28         final DOMDataTreeCursorAwareTransaction domTx = getDelegate().createTransaction(isolated);
29         return new BindingDOMCursorAwareWriteTransactionAdapter<>(adapterContext(), domTx);
30     }
31
32     @Override
33     public DataTreeProducer createProducer(final Collection<DataTreeIdentifier<?>> subtrees) {
34         final Collection<DOMDataTreeIdentifier> domSubtrees = currentSerializer().toDOMDataTreeIdentifiers(subtrees);
35         final DOMDataTreeProducer domChildProducer = getDelegate().createProducer(domSubtrees);
36         return new BindingDOMDataTreeProducerAdapter(adapterContext(), domChildProducer);
37     }
38
39     @Override
40     public void close() throws DataTreeProducerException {
41         try {
42             getDelegate().close();
43         } catch (final DOMDataTreeProducerException e) {
44             throw new DataTreeProducerException(e.getMessage(), e);
45         }
46     }
47 }