public TagType(HexString _hexString) { super(); this._hexString = _hexString; this._uint32 = null; this._value = _hexString.getValue().toString().toCharArray(); }
/** * Return a String representing the value of this union. * * @return String representation of this union's value. */ public String stringValue() { if (_string != null) { return _string; } if (_hexString != null) { return _hexString.getValue().toString(); } throw new IllegalStateException("No value assinged"); }
/** * Return a String representing the value of this union. * * @return String representation of this union's value. */ public String stringValue() { if (_string != null) { return _string; } if (_hexString != null) { return _hexString.getValue().toString(); } throw new IllegalStateException("No value assinged"); }
default byte[] getBinaryVector(final HexString hexString) { return DatatypeConverter.parseHexBinary(hexString.getValue().replace(":", "")); } }
private static ClassifyAddDelSession getClassifyAddDelSessionRequest(final boolean isAdd, @Nonnull final ClassifySession classifySession, final int tableIndex, final int hitNextIndex, final int opaqueIndex) { ClassifyAddDelSession request = new ClassifyAddDelSession(); request.isAdd = booleanToByte(isAdd); request.tableIndex = tableIndex; request.hitNextIndex = hitNextIndex; request.opaqueIndex = opaqueIndex; // default 0: request.advance = classifySession.getAdvance(); request.match = DatatypeConverter.parseHexBinary(classifySession.getMatch().getValue().replace(":", "")); return request; }
private ClassifyAddDelTable getClassifyAddDelTableRequest(final boolean isAdd, final int tableIndex, @Nonnull final ClassifyTable table, final int missNextIndex, @Nonnull final MappingContext ctx) { final ClassifyAddDelTable request = new ClassifyAddDelTable(); request.isAdd = booleanToByte(isAdd); request.tableIndex = tableIndex; // mandatory, all u32 values are permitted: request.nbuckets = table.getNbuckets().intValue(); request.memorySize = table.getMemorySize().intValue(); request.skipNVectors = table.getSkipNVectors().intValue(); // mandatory request.missNextIndex = missNextIndex; final String nextTable = table.getNextTable(); if (isAdd && nextTable != null) { request.nextTableIndex = classifyTableContext.getTableIndex(nextTable, ctx); } else { request.nextTableIndex = ~0; // value not specified } request.mask = DatatypeConverter.parseHexBinary(table.getMask().getValue().replace(":", "")); checkArgument(request.mask.length % 16 == 0, "Number of mask bytes must be multiple of 16."); request.matchNVectors = request.mask.length / 16; return request; } }
@Override public void readCurrentAttributes(@Nonnull final InstanceIdentifier<ClassifySession> id, @Nonnull final ClassifySessionBuilder builder, @Nonnull final ReadContext ctx) throws ReadFailedException { LOG.debug("Reading attributes for classify session: {}", id); final ClassifySessionKey key = id.firstKeyOf(ClassifySession.class); checkArgument(key != null, "could not find ClassifySession key in {}", id); final ClassifySessionDetailsReplyDump classifySessionDump = dumpClassifySessions(id, ctx); final byte[] match = DatatypeConverter.parseHexBinary(key.getMatch().getValue().replace(":", "")); final Optional<ClassifySessionDetails> classifySession = findClassifySessionDetailsByMatch(classifySessionDump, match); if (classifySession.isPresent()) { final ClassifySessionDetails detail = classifySession.get(); builder.setHitNext( readVppNode(detail.tableId, detail.hitNextIndex, classifyTableContext, ctx.getMappingContext(), LOG).get()); if (detail.opaqueIndex != ~0) { // value is specified: builder.setOpaqueIndex(readOpaqueIndex(detail.tableId, detail.opaqueIndex, ctx.getMappingContext())); } builder.setAdvance(detail.advance); builder.setMatch(key.getMatch()); if (LOG.isTraceEnabled()) { LOG.trace("Attributes for classify session {} successfully read: {}", id, builder.build()); } } }
final byte[] match = DatatypeConverter.parseHexBinary(key.getMatch().getValue().replace(":", "")); final Optional<ClassifySessionDetails> classifySession = findClassifySessionDetailsByMatch(classifySessionDump, match);