public static ObjectArrayEventType makeTransientOAType(String enumMethod, String propertyName, Class type, StatementRawInfo statementRawInfo, StatementCompileTimeServices services) { Map<String, Object> propsResult = new HashMap<>(); propsResult.put(propertyName, JavaClassHelper.getBoxedType(type)); String eventTypeName = services.getEventTypeNameGeneratorStatement().getAnonymousTypeNameEnumMethod(enumMethod, propertyName); EventTypeMetadata metadata = new EventTypeMetadata(eventTypeName, statementRawInfo.getModuleName(), EventTypeTypeClass.ENUMDERIVED, EventTypeApplicationType.OBJECTARR, NameAccessModifier.TRANSIENT, EventTypeBusModifier.NONBUS, false, EventTypeIdPair.unassigned()); ObjectArrayEventType oatype = BaseNestableEventUtil.makeOATypeCompileTime(metadata, propsResult, null, null, null, null, services.getBeanEventTypeFactoryPrivate(), services.getEventTypeCompileTimeResolver()); services.getEventTypeCompileTimeRegistry().newType(oatype); return oatype; }