X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2FAbstractDOMStoreTransaction.java;fp=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2FAbstractDOMStoreTransaction.java;h=8a190c115fb2c68bd99228378ed389620af94023;hb=761a2b50e10129c5f6ccb59df940b5dd39d6e424;hp=0000000000000000000000000000000000000000;hpb=82eb3f94c133e091ca5dd2f26450da9f121c12ca;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/AbstractDOMStoreTransaction.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/AbstractDOMStoreTransaction.java new file mode 100644 index 0000000000..8a190c115f --- /dev/null +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/AbstractDOMStoreTransaction.java @@ -0,0 +1,51 @@ +/* + * 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.dom.store.impl; + +import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransaction; + +import com.google.common.base.Objects; +import com.google.common.base.Objects.ToStringHelper; +import com.google.common.base.Preconditions; + +/** + * Abstract DOM Store Transaction + * + * Convenience super implementation of DOM Store transaction which provides + * common implementation of {@link #toString()} and {@link #getIdentifier()}. + * + * + */ +abstract class AbstractDOMStoreTransaction implements DOMStoreTransaction { + private final Object identifier; + + protected AbstractDOMStoreTransaction(final Object identifier) { + this.identifier = Preconditions.checkNotNull(identifier,"Identifier must not be null."); + } + + @Override + public final Object getIdentifier() { + return identifier; + } + + @Override + public final String toString() { + return addToStringAttributes(Objects.toStringHelper(this)).toString(); + } + + /** + * Add class-specific toString attributes. + * + * @param toStringHelper + * ToStringHelper instance + * @return ToStringHelper instance which was passed in + */ + protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) { + return toStringHelper.add("id", identifier); + } +} \ No newline at end of file