22 * or visit www.oracle.com if you need additional information or have any |
22 * or visit www.oracle.com if you need additional information or have any |
23 * questions. |
23 * questions. |
24 */ |
24 */ |
25 package jdk.jfr.internal.consumer; |
25 package jdk.jfr.internal.consumer; |
26 |
26 |
|
27 import java.time.ZoneId; |
27 import java.util.HashMap; |
28 import java.util.HashMap; |
28 import java.util.List; |
29 import java.util.List; |
29 import java.util.Map; |
30 import java.util.Map; |
30 |
31 |
31 import jdk.jfr.EventType; |
32 import jdk.jfr.EventType; |
32 import jdk.jfr.ValueDescriptor; |
33 import jdk.jfr.ValueDescriptor; |
33 |
34 |
34 public final class ObjectContext { |
35 public final class ObjectContext { |
35 private final Map<ValueDescriptor, ObjectContext> contextLookup; |
36 private final Map<ValueDescriptor, ObjectContext> contextLookup; |
|
37 private final TimeConverter timeConverter; |
36 |
38 |
37 public final EventType eventType; |
39 public final EventType eventType; |
38 public final List<ValueDescriptor> fields; |
40 public final List<ValueDescriptor> fields; |
39 public final TimeConverter timeConverter; |
|
40 |
41 |
41 public ObjectContext(EventType eventType, List<ValueDescriptor> fields, TimeConverter timeConverter) { |
42 ObjectContext(EventType eventType, List<ValueDescriptor> fields, TimeConverter timeConverter) { |
42 this.contextLookup = new HashMap<>(); |
43 this.contextLookup = new HashMap<>(); |
43 this.eventType = eventType; |
44 this.eventType = eventType; |
44 this.fields = fields; |
45 this.fields = fields; |
45 this.timeConverter = timeConverter; |
46 this.timeConverter = timeConverter; |
46 } |
47 } |
58 context = new ObjectContext(this, descriptor); |
59 context = new ObjectContext(this, descriptor); |
59 contextLookup.put(descriptor, context); |
60 contextLookup.put(descriptor, context); |
60 } |
61 } |
61 return context; |
62 return context; |
62 } |
63 } |
|
64 |
|
65 public long convertTimestamp(long ticks) { |
|
66 return timeConverter.convertTimestamp(ticks); |
|
67 } |
|
68 |
|
69 public long convertTimespan(long ticks) { |
|
70 return timeConverter.convertTimespan(ticks); |
|
71 } |
|
72 |
|
73 public ZoneId getZoneOffset() { |
|
74 return timeConverter.getZoneOffset(); |
|
75 } |
63 } |
76 } |