ConditionalOnClass constructor

const ConditionalOnClass({
  1. List<ClassType<Object>> value = const [],
  2. List<String> names = const [],
})

The ConditionalOnClass annotation in Jetleaf allows developers to conditionally process a class or method only when certain classes are present in the runtime classpath.

This is useful for optional dependencies, integration with external libraries, or conditional configuration based on class availability.

Usage Examples:

// Only load HTTP client configuration if HttpClient exists
@ConditionalOnClass(value: [ClassType<HttpClient>()])
class HttpClientAutoConfig {}

// Use fully qualified class names to avoid compilation errors
@ConditionalOnClass(name: ['package:jetleaf/example/jetleaf_example.dart.LoggingService'])
class OptionalFeatureConfig {}

Implementation

const ConditionalOnClass({
  this.value = const [],
  this.names = const [],
});