@SuppressWarnings( "unchecked" ) @Override public <T extends MetricsFactory> T createFactory( Class<T> factoryType ) { if( factoryType.equals( MetricsCounterFactory.class ) ) { return (T) createMetricsCounterFactory(); } else if( factoryType.equals( MetricsGaugeFactory.class ) ) { return (T) createMetricsGaugeFactory(); } else if( factoryType.equals( MetricsHealthCheckFactory.class ) ) { return (T) createMetricsHealthCheckFactory(); } else if( factoryType.equals( MetricsHistogramFactory.class ) ) { return (T) createMetricsHistogramFactory(); } else if( factoryType.equals( MetricsMeterFactory.class ) ) { return (T) createMetricsMeterFactory(); } else if( factoryType.equals( MetricsTimerFactory.class ) ) { return (T) createMetricsTimerFactory(); } throw new MetricsNotSupportedException( factoryType, getClass() ); }
@SuppressWarnings( "unchecked" ) @Override public <T extends MetricsFactory> T createFactory( Class<T> factoryType ) { if( factoryType.equals( MetricsCounterFactory.class ) ) { return (T) createMetricsCounterFactory(); } else if( factoryType.equals( MetricsGaugeFactory.class ) ) { return (T) createMetricsGaugeFactory(); } else if( factoryType.equals( MetricsHealthCheckFactory.class ) ) { return (T) createMetricsHealthCheckFactory(); } else if( factoryType.equals( MetricsHistogramFactory.class ) ) { return (T) createMetricsHistogramFactory(); } else if( factoryType.equals( MetricsMeterFactory.class ) ) { return (T) createMetricsMeterFactory(); } else if( factoryType.equals( MetricsTimerFactory.class ) ) { return (T) createMetricsTimerFactory(); } throw new MetricsNotSupportedException( factoryType, getClass() ); }