equal
deleted
inserted
replaced
71 return event.getOffsetDateTime(name); |
71 return event.getOffsetDateTime(name); |
72 } |
72 } |
73 |
73 |
74 @Override |
74 @Override |
75 public void sort(List<RecordedEvent> events) { |
75 public void sort(List<RecordedEvent> events) { |
76 Collections.sort(events, (e1, e2) -> Long.compare(e1.endTime, e2.endTime)); |
76 Collections.sort(events, (e1, e2) -> Long.compare(e1.endTimeTicks, e2.endTimeTicks)); |
77 } |
77 } |
78 |
78 |
79 @Override |
79 @Override |
80 public Parser newStringParser() { |
80 public Parser newStringParser() { |
81 return new StringParser(null, false); |
81 return new StringParser(null, false); |
94 return o; |
94 return o; |
95 } |
95 } |
96 } |
96 } |
97 |
97 |
98 final Object[] objects; |
98 final Object[] objects; |
99 private final List<ValueDescriptor> descriptors; |
99 protected final List<ValueDescriptor> descriptors; |
100 private final TimeConverter timeConverter; |
100 protected final TimeConverter timeConverter; |
101 |
101 |
102 // package private, not to be subclassed outside this package |
102 // package private, not to be subclassed outside this package |
103 RecordedObject(List<ValueDescriptor> descriptors, Object[] objects, TimeConverter timeConverter) { |
103 RecordedObject(List<ValueDescriptor> descriptors, Object[] objects, TimeConverter timeConverter) { |
104 this.descriptors = descriptors; |
104 this.descriptors = descriptors; |
105 this.objects = objects; |
105 this.objects = objects; |
199 @SuppressWarnings("unchecked") |
199 @SuppressWarnings("unchecked") |
200 T t = (T) getValue(name, false); |
200 T t = (T) getValue(name, false); |
201 return t; |
201 return t; |
202 } |
202 } |
203 |
203 |
|
204 protected Object objectAt(int index) { |
|
205 return objects[index]; |
|
206 } |
|
207 |
204 private Object getValue(String name, boolean allowUnsigned) { |
208 private Object getValue(String name, boolean allowUnsigned) { |
205 Objects.requireNonNull(name); |
209 Objects.requireNonNull(name); |
206 int index = 0; |
210 int index = 0; |
207 for (ValueDescriptor v : descriptors) { |
211 for (ValueDescriptor v : descriptors) { |
208 if (name.equals(v.getName())) { |
212 if (name.equals(v.getName())) { |
209 Object object = objects[index]; |
213 Object object = objectAt(index); |
210 if (object == null) { |
214 if (object == null) { |
211 // error or missing |
215 // error or missing |
212 return null; |
216 return null; |
213 } |
217 } |
214 if (v.getFields().isEmpty()) { |
218 if (v.getFields().isEmpty()) { |