/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.tsdr.collectors.cmc.mdsal; import org.datasand.codec.EncodeDataContainer; import org.datasand.codec.ISerializer; import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.tsdrrecord.RecordKeys; import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.tsdrrecord.RecordKeysBuilder; /** * @author Sharon Aicler(saichler@gmail.com) **/ public class RecordKeysSerializer implements ISerializer{ @Override public void encode(Object value, byte[] byteArray, int location) { } @Override public void encode(Object value, EncodeDataContainer ba) { RecordKeys element = (RecordKeys) value; ba.setCurrentAttributeName("KeyName"); ba.getEncoder().encodeString(element.getKeyName(), ba); ba.setCurrentAttributeName("KeyValue"); ba.getEncoder().encodeString(element.getKeyValue(), ba); ba.setCurrentAttributeName("Augmentations"); ba.getEncoder().encodeAugmentations(value, ba); } @Override public Object decode(byte[] byteArray, int location, int length) { return null; } @Override public Object decode(EncodeDataContainer ba, int length) { RecordKeysBuilder builder = new RecordKeysBuilder(); ba.setCurrentAttributeName("KeyName"); builder.setKeyName(ba.getEncoder().decodeString(ba)); ba.setCurrentAttributeName("KeyValue"); builder.setKeyValue(ba.getEncoder().decodeString(ba)); ba.setCurrentAttributeName("Augmentations"); ba.getEncoder().decodeAugmentations(builder, ba,RecordKeys.class); return builder.build(); } public String getShardName(Object obj) { return "Default"; } public String getRecordKey(Object obj) { return null; } }