ConditionalOnMissingClass constructor

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

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

This is useful for providing default implementations or fallback configurations when optional libraries or classes are missing.

Usage Examples:

// Only load default cache if AdvancedCache is missing
@ConditionalOnMissingClass(value: [ClassType<AdvancedCache>()])
class DefaultCacheConfig {}

// Use fully qualified class names instead of direct references
@ConditionalOnMissingClass(name: ['package:jetleaf/example/jetleaf_example.dart.LoggingService'])
class DefaultLogger {}

Implementation

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