
org.yangcentral.yangkit.model.impl.codec.BitsStringValueCodecImpl Maven / Gradle / Ivy
package org.yangcentral.yangkit.model.impl.codec;
import org.yangcentral.yangkit.base.ErrorCode;
import org.yangcentral.yangkit.model.api.codec.BitsStringValueCodec;
import org.yangcentral.yangkit.model.api.codec.YangCodecException;
import org.yangcentral.yangkit.model.api.restriction.Restriction;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.PatternSyntaxException;
public class BitsStringValueCodecImpl extends StringValueCodecImpl> implements BitsStringValueCodec {
public List deserialize(Restriction> restriction, String input) throws YangCodecException {
String[] splitStr;
try {
splitStr = input.split(" ");
} catch (PatternSyntaxException el) {
throw new YangCodecException(ErrorCode.INVALID_VALUE.getFieldName());
}
List ret = new ArrayList<>();
int length = splitStr.length;
for(int i = 0; i < length; ++i) {
String str = splitStr[i];
str = str.trim();
if (str.length() > 0) {
ret.add(str);
}
}
boolean bool = restriction.evaluated(ret);
if (!bool) {
throw new YangCodecException(ErrorCode.INVALID_VALUE.getFieldName());
} else {
return ret;
}
}
public String serialize(Restriction> restriction, List output) throws YangCodecException {
boolean bool = restriction.evaluated(output);
if (!bool) {
throw new YangCodecException(ErrorCode.INVALID_VALUE.getFieldName());
} else {
StringBuilder sb = new StringBuilder();
for (String str : output) {
sb.append(str);
sb.append(" ");
}
return sb.toString().trim();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy