@Override public final void writeTo(Output output, T message) throws IOException { for (Field<T> f : getFields()) f.writeTo(output, message); }
@Override public final void writeTo(Output output, T message) throws IOException { for (Field<T> f : getFields()) f.writeTo(output, message); }
static boolean tryWriteWithoutCause(Output output, Object value, Schema<Object> schema) throws IOException { if (schema instanceof RuntimeSchema && __cause != null) { // ignore the field "cause" if its references itself (cyclic) final RuntimeSchema<Object> ms = (RuntimeSchema<Object>) schema; if (ms.getFieldCount() > 1 && ms.getFields().get(1).name.equals("cause")) { final Object cause; try { cause = __cause.get(value); } catch (Exception e) { throw new RuntimeException(e); } if (cause == value) { // its cyclic, skip the second field "cause" ms.getFields().get(0).writeTo(output, value); for (int i = 2, len = ms.getFieldCount(); i < len; i++) ms.getFields().get(i).writeTo(output, value); return true; } } } return false; }
static boolean tryWriteWithoutCause(Output output, Object value, Schema<Object> schema) throws IOException { if (schema instanceof RuntimeSchema && __cause != null) { // ignore the field "cause" if its references itself (cyclic) final RuntimeSchema<Object> ms = (RuntimeSchema<Object>) schema; if (ms.getFieldCount() > 1 && ms.getFields().get(1).name.equals("cause")) { final Object cause; try { cause = __cause.get(value); } catch (Exception e) { throw new RuntimeException(e); } if (cause == value) { // its cyclic, skip the second field "cause" ms.getFields().get(0).writeTo(output, value); for (int i = 2, len = ms.getFieldCount(); i < len; i++) ms.getFields().get(i).writeTo(output, value); return true; } } } return false; }
@Test public void testPojoWithMappedAbstractTypes() { RuntimeSchema<PojoWithMappedAbstractTypes> schema = (RuntimeSchema<PojoWithMappedAbstractTypes>) RuntimeSchema .getSchema(PojoWithMappedAbstractTypes.class, RuntimeEnv.ID_STRATEGY); assertTrue(schema.getFields().size() == 4); assertTrue(schema.getFields().get(0) instanceof RuntimeMessageField); assertTrue(schema.getFields().get(1) instanceof RuntimeMessageField); assertTrue(schema.getFields().get(2) instanceof RuntimeObjectField); assertTrue(schema.getFields().get(3) instanceof RuntimeDerivativeField); }
new HashMap<String, Field<T>>(); int maxFieldNumber = includeAndAddTo(fieldsByName, ms.typeClass(), ms.getFields(), args);
@Test public void testIt() throws Exception { RuntimeSchema<Entity> schema = (RuntimeSchema<Entity>) RuntimeSchema .getSchema(Entity.class); assertTrue(schema.getFields().size() == 3); assertEquals(schema.getFields().get(0).name, "id"); assertEquals(schema.getFields().get(0).number, 1); assertEquals(schema.getFields().get(1).name, "name"); assertEquals(schema.getFields().get(1).number, 2); assertEquals(schema.getFields().get(2).name, "timestamp"); assertEquals(schema.getFields().get(2).number, 4); assertTrue(schema.getFieldNumber("alias") == 0); assertNull(schema.getFieldByName("alias")); }
@Test public void testEntityFullyAnnotated() { RuntimeSchema<EntityFullyAnnotated> schema = (RuntimeSchema<EntityFullyAnnotated>) RuntimeSchema .getSchema(EntityFullyAnnotated.class, RuntimeEnv.ID_STRATEGY); assertTrue(schema.getFieldCount() == 2); assertEquals(schema.getFields().get(0).name, "id"); assertEquals(schema.getFields().get(0).number, 3); assertEquals(schema.getFields().get(1).name, "name"); assertEquals(schema.getFields().get(1).number, 5); assertTrue(schema.getFieldNumber("alias") == 0); assertNull(schema.getFieldByName("alias")); }
@Test public void testIt() throws Exception { RuntimeSchema<Entity> schema = (RuntimeSchema<Entity>) RuntimeSchema .getSchema(Entity.class); assertTrue(schema.getFieldCount() == 3); assertEquals(schema.getFields().get(0).name, "id"); assertEquals(schema.getFields().get(0).number, 1); assertEquals(schema.getFields().get(1).name, "name"); assertEquals(schema.getFields().get(1).number, 2); assertEquals(schema.getFields().get(2).name, "timestamp"); assertEquals(schema.getFields().get(2).number, 3); assertTrue(schema.getFieldNumber("alias") == 0); assertNull(schema.getFieldByName("alias")); }
static <T> void verify(RuntimeSchema<T> schema, int number, String name, int offset) { assertEquals(schema.getFields().get(offset).name, name); assertEquals(schema.getFields().get(offset).number, number); assertEquals(name, schema.getFieldName(number)); assertEquals(number, schema.getFieldNumber(name)); }
for (Field<T> f : rs.getFields()) { final int groupFilter = f.groupFilter; if (groupFilter != 0) {
for (Field<T> f : rs.getFields()) { final int groupFilter = f.groupFilter; if (groupFilter != 0) {
for (Field<T> f : rs.getFields())
for (Field<T> f : rs.getFields())
@Test public void testTaggedAndExcludedEntity() throws Exception { RuntimeSchema<TaggedAndExcludedEntity> schema = (RuntimeSchema<TaggedAndExcludedEntity>) RuntimeSchema .getSchema(TaggedAndExcludedEntity.class); assertEquals(2, schema.getFieldCount()); assertEquals(0, schema.getFieldNumber("id")); assertNull(schema.getFieldByName("id")); assertEquals(schema.getFields().get(0).name, "alias"); assertEquals(schema.getFields().get(0).number, 2); assertEquals("name", schema.getFields().get(1).name); assertEquals(4, schema.getFields().get(1).number); assertTrue(schema.getFieldNumber("timestamp") == 0); assertNull(schema.getFieldByName("timestamp")); }
@Test public void testMuchExcludedEntity() throws Exception { RuntimeSchema<MuchExcludedEntity> schema = (RuntimeSchema<MuchExcludedEntity>) RuntimeSchema .getSchema(MuchExcludedEntity.class); assertTrue(schema.getFieldCount() == 1); assertTrue(schema.getFieldNumber("id") == 0); assertNull(schema.getFieldByName("id")); assertTrue(schema.getFieldNumber("name") == 0); assertNull(schema.getFieldByName("name")); assertEquals(schema.getFields().get(0).name, "alias"); assertEquals(schema.getFields().get(0).number, 1); assertTrue(schema.getFieldNumber("timestamp") == 0); assertNull(schema.getFieldByName("timestamp")); }
for (Field<T> f : rs.getFields()) { final int groupFilter = f.groupFilter; if (groupFilter != 0) {
for (Field<T> f : rs.getFields()) { final int groupFilter = f.groupFilter; if (groupFilter != 0) {