X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-cli%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fcli%2Fwriter%2Fimpl%2FAbstractWriter.java;fp=opendaylight%2Fnetconf%2Fnetconf-cli%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fcli%2Fwriter%2Fimpl%2FAbstractWriter.java;h=f9c4e8447c0503cc559ec380bf773a96a78070f4;hp=0000000000000000000000000000000000000000;hb=b3d2a00776a1a5e3a139d73ced859aa557c931af;hpb=d04e0863b86415749a8437241c57df0d32a3b133 diff --git a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/writer/impl/AbstractWriter.java b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/writer/impl/AbstractWriter.java new file mode 100644 index 0000000000..f9c4e8447c --- /dev/null +++ b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/writer/impl/AbstractWriter.java @@ -0,0 +1,37 @@ +/* + * 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.netconf.cli.writer.impl; + +import java.io.IOException; +import java.util.List; +import org.opendaylight.controller.netconf.cli.io.ConsoleIO; +import org.opendaylight.controller.netconf.cli.writer.WriteException; +import org.opendaylight.controller.netconf.cli.writer.Writer; +import org.opendaylight.yangtools.yang.data.api.Node; +import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; + +public abstract class AbstractWriter implements Writer { + + protected ConsoleIO console; + + public AbstractWriter(final ConsoleIO console) { + this.console = console; + } + + @Override + public void write(final T dataSchemaNode, final List> dataNodes) throws WriteException { + try { + writeInner(dataSchemaNode, dataNodes); + } catch (final IOException e) { + throw new WriteException("Unable to write data to output for " + dataSchemaNode.getQName(), e); + } + } + + protected abstract void writeInner(final T dataSchemaNode, final List> dataNodes) throws IOException, + WriteException; +}