try {
FlightRecorder.register(BaseEvent.class);
Asserts.fail("Should not accept registering abstract event classes");
} catch (IllegalArgumentException iae) { // OK, as expected
}
try {
FlightRecorder.unregister(BaseEvent.class);
Asserts.fail("Should not accept unregistering abstract event classes");
} catch (IllegalArgumentException iae) { // OK, as expected
}
Recording r = new Recording(); try {
r.enable(BaseEvent.class);
Asserts.fail("Should not accept abstract event classes");
} catch (IllegalArgumentException iae) { // OK, as expected
}
r.start();
ConcreteEvent event = new ConcreteEvent();
event.commit();
r.stop();
RecordingFile rf = Events.copyTo(r);
RecordedEvent re = rf.readEvent(); if (!re.getEventType().getName().equals(ConcreteEvent.class.getName())) {
Asserts.fail("Expected " + ConcreteEvent.class.getName() + " event to be part of recording. Found " + re.getEventType().getName());
} if (rf.hasMoreEvents()) {
Asserts.fail("Expected only one event");
}
rf.close();
EventType concreteEventType = null; for (EventType type : FlightRecorder.getFlightRecorder().getEventTypes()) { if (type.getName().equals(BaseEvent.class.getName())) {
Asserts.fail("Abstract events should not be part of metadata");
} if (type.getName().equals(ConcreteEvent.class.getName())) {
concreteEventType = type;
}
}
Asserts.assertTrue(concreteEventType != null, "Could not find " + ConcreteEvent.class.getName() + " in metadata");
Experimental exp = concreteEventType.getAnnotation(Experimental.class);
Asserts.assertTrue(exp != null, "Could not find inherited annotation" + Experimental.class.getName() + " from abstract event class");
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.