/** * updates all the fields in {@code this} that are null, from the {@param parentBuilder} * * @param parentBuilder the parentBuilder Chronicle Queue Builder * @return that */ public SingleChronicleQueueBuilder setAllNullFields(@Nullable SingleChronicleQueueBuilder parentBuilder) { if (parentBuilder == null) return this; if (!(this.getClass().isAssignableFrom(parentBuilder.getClass()) || parentBuilder.getClass().isAssignableFrom(this.getClass()))) throw new IllegalArgumentException("Classes are not in same implementation hierarchy"); List<FieldInfo> sourceFieldInfo = Wires.fieldInfos(parentBuilder.getClass()); for (final FieldInfo fieldInfo : Wires.fieldInfos(this.getClass())) { if (!sourceFieldInfo.contains(fieldInfo)) continue; Object resultV = fieldInfo.get(this); Object parentV = fieldInfo.get(parentBuilder); if (resultV == null && parentV != null) fieldInfo.set(this, parentV); } return this; }
/** * updates all the fields in {@code this} that are null, from the {@param parentBuilder} * * @param parentBuilder the parentBuilder Chronicle Queue Builder * @return that */ public SingleChronicleQueueBuilder setAllNullFields(@Nullable SingleChronicleQueueBuilder parentBuilder) { if (parentBuilder == null) return this; if (!(this.getClass().isAssignableFrom(parentBuilder.getClass()) || parentBuilder.getClass().isAssignableFrom(this.getClass()))) throw new IllegalArgumentException("Classes are not in same implementation hierarchy"); List<FieldInfo> sourceFieldInfo = Wires.fieldInfos(parentBuilder.getClass()); for (final FieldInfo fieldInfo : Wires.fieldInfos(this.getClass())) { if (!sourceFieldInfo.contains(fieldInfo)) continue; Object resultV = fieldInfo.get(this); Object parentV = fieldInfo.get(parentBuilder); if (resultV == null && parentV != null) fieldInfo.set(this, parentV); } return this; }
final Class valueClass = entry.getValue().getClass(); final FieldInfo info = Wires.fieldInfo(valueClass, f.columnName); final Object o = info.get(entry.getValue());
final Object o = info.get(message);
private void addColumns(@NotNull Row row, final Class type, final String defaultColumnName, final Object item) { final List<FieldInfo> fieldInfos = Wires.fieldInfos(type); if (fieldInfos.isEmpty()) { row.set(defaultColumnName, item); } else { @NotNull final Marshallable value = (Marshallable) item; for (@NotNull final FieldInfo info : fieldInfos) { if (!columnNames().contains(info.name())) continue; try { final Object newValue = info.get(value); row.set(info.name(), newValue); } catch (Exception e1) { Jvm.warn().on(VanillaMapView.class, e1); } } } } };