@Test public void shouldHandleCompositeTypeList() throws Exception { final String testXmlString = "<types>" + "<composite name=\"decimal\">" + " <type name=\"mantissa\" primitiveType=\"int64\"/>" + " <type name=\"exponent\" primitiveType=\"int8\"/>" + "</composite>" + "</types>"; final Map<String, Type> map = parseTestXmlWithMap("/types/composite", testXmlString); final CompositeType c = (CompositeType)map.get("decimal"); assertThat(c.getTypeList().size(), is(2)); assertThat(c.getTypeList().get(0).name(), is("mantissa")); assertThat(c.getTypeList().get(1).name(), is("exponent")); }
final List<Type> elements = compositeType.getTypeList(); assertThat(nestedCompositeType.name(), is("inner")); final List<Type> nestedElements = nestedCompositeType.getTypeList();
for (final Type elementType : type.getTypeList())
private void add(final CompositeType type, final int currOffset, final Field field) { final Token.Builder builder = new Token.Builder() .signal(Signal.BEGIN_COMPOSITE) .name(type.name()) .offset(currOffset) .size(type.encodedLength()) .encoding(new Encoding.Builder() .semanticType(semanticTypeOf(type, field)) .build()); if (field != null) { builder.version(field.sinceVersion()); } tokenList.add(builder.build()); int offset = 0; for (final EncodedDataType edt : type.getTypeList()) { if (edt.offsetAttribute() != -1) { offset = edt.offsetAttribute(); } add(edt, offset, field); offset += edt.encodedLength(); } tokenList.add(builder.signal(Signal.END_COMPOSITE).build()); }
for (final Type elementType : type.getTypeList())
for (final Type elementType : type.getTypeList())