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/EthernetCodec.java b/web/api/src/main/java/org/onosproject/codec/impl/EthernetCodec.java
index c426a46..f56bca4 100644
--- a/web/api/src/main/java/org/onosproject/codec/impl/EthernetCodec.java
+++ b/web/api/src/main/java/org/onosproject/codec/impl/EthernetCodec.java
@@ -28,7 +28,7 @@
 /**
  * Ethernet codec.
  */
-public class EthernetCodec extends JsonCodec<Ethernet> {
+public final class EthernetCodec extends JsonCodec<Ethernet> {
 
     protected static final Logger log = LoggerFactory.getLogger(CriterionCodec.class);