class PrometheusOpener implements MeterOpener {
    PrometheusMeterRegistry registry;

    @Override
    public String path() {
        return "/metrics/prometheus";
    }

    @Override
    public boolean isSupported(AppContext appContext) {<FILL_FUNCTION_BODY>}

    @Override
    public void handle(Context ctx) throws Throwable {
        //TextFormat.CONTENT_TYPE_OPENMETRICS_100
        //TextFormat.CONTENT_TYPE_004
        ctx.output(registry.scrape());
    }
}

        if (registry != null) {
            return true;
        }

        if (ClassUtil.hasClass(() -> PrometheusMeterRegistry.class)) {
            //如果有这个类
            if (appContext.hasWrap(PrometheusMeterRegistry.class)) {
                registry = appContext.getBean(PrometheusMeterRegistry.class);
            } else {
                registry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
                BeanWrap beanWrap = appContext.wrapAndPut(PrometheusMeterRegistry.class, registry);
                appContext.wrapPublish(beanWrap);
            }

            return true;
        }

        return false;
    
<no_super_class>