# ConditionalOnMissingPod constructor

const ConditionalOnMissingPod({

1. List<ClassType<Object>> types = const [],
2. List<String> names = const [],
3. List<ClassType<Object>> ignoredTypes = const [],

})

The `ConditionalOnMissingPod` annotation in Jetleaf allows developers to conditionally process a class or method only when certain pods are not present in the application context.

This is particularly useful for providing fallback configurations or alternative pods/pods when expected ones are absent.

### Key Features:

- Ensures a pod is only loaded if another pod type or name is missing.
- Supports ignoring specific annotations when determining pod presence.
- Supports ignoring entire pod types to avoid conflicts with infrastructure.

### Usage Examples:

    // Only load an embedded database when no DataSource is present
    @ConditionalOnMissingPod(types: [ClassType<DataSource>()])
    class EmbeddedDatabaseConfig {}

    // Provide a fallback service if a specific pod name is missing
    @ConditionalOnMissingPod(name: ['myCustomService'])
    class FallbackServiceConfig {}

    // Ignore infrastructure pods while checking for missing dependencies
    @ConditionalOnMissingPod(
      types: [ClassType<MyService>()],
      ignoredTypes: [ClassType<DataSource>()],
    )
    class AlternativeServiceConfig {}

This ensures Jetleaf applications remain flexible by enabling conditional fallbacks and context-aware configuration.

## Implementation

    const ConditionalOnMissingPod({
      this.types = const [],
      this.names = const [],
      this.ignoredTypes = const [],
    });