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/DeviceCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/DeviceCodec.java
index d790960..fcb720c 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/DeviceCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/DeviceCodec.java
@@ -25,7 +25,7 @@
 /**
  * Device JSON codec.
  */
-public class DeviceCodec extends AnnotatedCodec<Device> {
+public final class DeviceCodec extends AnnotatedCodec<Device> {
 
     @Override
     public ObjectNode encode(Device device, CodecContext context) {