super(statement, parent);
}
+ @Override
+ StatementNamespace namespace() {
+ return StatementNamespace.NOTIFICATION;
+ }
+
@Override
void pushToInference(final SchemaInferenceStack dataTree) {
- dataTree.enterSchemaTree(statement().getIdentifier());
+ dataTree.enterSchemaTree(statement().argument());
}
@Override
}
@Override
- NotificationRuntimeType createRuntimeType(final GeneratedType type, final NotificationEffectiveStatement statement,
- final List<RuntimeType> children, final List<AugmentRuntimeType> augments) {
- return new DefaultNotificationRuntimeType(type, statement, children, augments);
+ void addAsGetterMethod(final GeneratedTypeBuilderBase<?> builder, final TypeBuilderFactory builderFactory) {
+ // Notifications are a distinct concept
}
@Override
- void addAsGetterMethod(final GeneratedTypeBuilderBase<?> builder, final TypeBuilderFactory builderFactory) {
- // Notifications are a distinct concept
+ CompositeRuntimeTypeBuilder<NotificationEffectiveStatement, NotificationRuntimeType> createBuilder(
+ final NotificationEffectiveStatement statement) {
+ return new CompositeRuntimeTypeBuilder<>(statement) {
+ @Override
+ NotificationRuntimeType build(final GeneratedType type, final NotificationEffectiveStatement statement,
+ final List<RuntimeType> children, final List<AugmentRuntimeType> augments) {
+ return new DefaultNotificationRuntimeType(type, statement, children, augments);
+ }
+ };
}
private Type notificationType(final GeneratedTypeBuilder builder, final TypeBuilderFactory builderFactory) {
}
final Type parentType = Type.of(parent.typeName());
- if (parent instanceof ListGenerator) {
- final KeyGenerator keyGen = ((ListGenerator) parent).keyGenerator();
+ if (parent instanceof ListGenerator listGen) {
+ final KeyGenerator keyGen = listGen.keyGenerator();
if (keyGen != null) {
return BindingTypes.keyedListNotification(builder, parentType, keyGen.getGeneratedType(builderFactory));
}