Bug-6562: Support add-path in base BGP NLRI
[bgpcep.git] / bgp / parser-api / src / main / java / org / opendaylight / protocol / bgp / parser / BgpTableTypeImpl.java
index 1e6b430447cdb23196b04754e33f161d43c3fea0..3a6c07010b720ee7c94cda109dd6dd14fea31918 100644 (file)
@@ -7,75 +7,82 @@
  */
 package org.opendaylight.protocol.bgp.parser;
 
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130918.BgpTableType;
+import static java.util.Objects.requireNonNull;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev171207.BgpTableType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily;
 
-import com.google.common.base.Preconditions;
-
 /**
  * Utility class identifying a BGP table type. A table type is formed by two identifiers: AFI and SAFI.
  */
 public final class BgpTableTypeImpl implements BgpTableType {
 
-       private final Class<? extends SubsequentAddressFamily> safi;
+    private final Class<? extends SubsequentAddressFamily> safi;
 
-       private final Class<? extends AddressFamily> afi;
+    private final Class<? extends AddressFamily> afi;
 
-       /**
-        * Creates BGP Table type.
-        * 
-        * @param afi Address Family Identifier
-        * @param safi Subsequent Address Family Identifier
-        */
-       public BgpTableTypeImpl(final Class<? extends AddressFamily> afi, final Class<? extends SubsequentAddressFamily> safi) {
-               this.afi = Preconditions.checkNotNull(afi, "Address family may not be null");
-               this.safi = Preconditions.checkNotNull(safi, "Subsequent address family may not be null");
-       }
+    /**
+     * Creates BGP Table type.
+     *
+     * @param afi Address Family Identifier
+     * @param safi Subsequent Address Family Identifier
+     */
+    public BgpTableTypeImpl(final Class<? extends AddressFamily> afi, final Class<? extends SubsequentAddressFamily> safi) {
+        this.afi = requireNonNull(afi, "Address family may not be null");
+        this.safi = requireNonNull(safi, "Subsequent address family may not be null");
+    }
 
-       @Override
-       public Class<BgpTableType> getImplementedInterface() {
-               return BgpTableType.class;
-       }
+    @Override
+    public Class<BgpTableType> getImplementedInterface() {
+        return BgpTableType.class;
+    }
 
-       @Override
-       public int hashCode() {
-               int ret = 3 * this.afi.hashCode();
-               ret += this.safi.hashCode();
-               return ret;
-       }
+    @Override
+    public int hashCode() {
+        final int prime = 3;
+        int ret = prime * this.afi.hashCode();
+        ret += this.safi.hashCode();
+        return ret;
+    }
 
-       @Override
-       public boolean equals(final Object obj) {
-               if (obj instanceof BgpTableTypeImpl) {
-                       final BgpTableTypeImpl o = (BgpTableTypeImpl) obj;
-                       return this.afi.equals(o.afi) && this.safi.equals(o.safi);
-               }
-               return false;
-       }
+    @Override
+    public boolean equals(final Object obj) {
+        if (obj instanceof BgpTableTypeImpl) {
+            final BgpTableTypeImpl o = (BgpTableTypeImpl) obj;
+            return this.afi.equals(o.afi) && this.safi.equals(o.safi);
+        }
+        return false;
+    }
 
-       @Override
-       public String toString() {
-               return this.afi.toString() + "." + this.safi.toString();
-       }
+    @Override
+    public String toString() {
+        final StringBuilder builder = new StringBuilder();
+        builder.append("BgpTableTypeImpl [getAfi()=");
+        builder.append(getAfi());
+        builder.append(", getSafi()=");
+        builder.append(getSafi());
+        builder.append("]");
+        return builder.toString();
+    }
 
-       /**
-        * Returns Address Family Identifier.
-        * 
-        * @return afi AFI
-        */
-       @Override
-       public Class<? extends AddressFamily> getAfi() {
-               return this.afi;
-       }
+    /**
+     * Returns Address Family Identifier.
+     *
+     * @return afi AFI
+     */
+    @Override
+    public Class<? extends AddressFamily> getAfi() {
+        return this.afi;
+    }
 
-       /**
-        * Returns Subsequent Address Family Identifier.
-        * 
-        * @return safi SAFI
-        */
-       @Override
-       public Class<? extends SubsequentAddressFamily> getSafi() {
-               return this.safi;
-       }
+    /**
+     * Returns Subsequent Address Family Identifier.
+     *
+     * @return safi SAFI
+     */
+    @Override
+    public Class<? extends SubsequentAddressFamily> getSafi() {
+        return this.safi;
+    }
 }