Make JSON codecs immutable

The contract for JSON codecs requires that they have no
local context.  Make them all immutable, and test that they
stay immutable.

Change-Id: Ia3930b844ede231940da05699f5f08605f946e0c
diff --git a/web/api/src/main/java/org/onosproject/codec/impl/TopologyCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/TopologyCodec.java
index 9ea6b0c..f6529eb 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/TopologyCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/TopologyCodec.java
@@ -26,7 +26,7 @@
 /**
  * Topology JSON codec.
  */
-public class TopologyCodec extends JsonCodec<Topology> {
+public final class TopologyCodec extends JsonCodec<Topology> {
 
     @Override
     public ObjectNode encode(Topology topology, CodecContext context) {