From 67a0dab285a9bd42b2deec9f2cf6f4df0366c6d5 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 22 Mar 2017 08:29:37 +0100 Subject: [PATCH] Trim down TypeDefinitionAwareCodec Storing an Optional runs contrary to its usual role and wastes memory. We can simply calculate the optional and have a nullable internal field, saving ~16 bytes per codec instance. Change-Id: I184fbd8f390bf5703b3342a6dd09de599c236554 Signed-off-by: Robert Varga --- .../impl/codec/TypeDefinitionAwareCodec.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/TypeDefinitionAwareCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/TypeDefinitionAwareCodec.java index 578b50891b..ef0bb52579 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/TypeDefinitionAwareCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/TypeDefinitionAwareCodec.java @@ -22,22 +22,22 @@ import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition; public abstract class TypeDefinitionAwareCodec> implements DataStringCodec { - private final Optional typeDefinition; private final Class inputClass; - - @Override - public Class getInputClass() { - return inputClass; - } + private final T typeDefinition; protected TypeDefinitionAwareCodec(final Optional typeDefinition, final Class outputClass) { Preconditions.checkArgument(outputClass != null, "Output class must be specified."); - this.typeDefinition = typeDefinition; + this.typeDefinition = typeDefinition.orNull(); this.inputClass = outputClass; } + @Override + public Class getInputClass() { + return inputClass; + } + public Optional getTypeDefinition() { - return typeDefinition; + return Optional.fromNullable(typeDefinition); } @SuppressWarnings({ "rawtypes", "unchecked" }) -- 2.36.6