getEnvironment abstract method

Environment getEnvironment()

🫘 Returns the Environment associated with the current context.

The Environment provides unified access to configuration mechanisms including profiles, property sources, and configuration properties.

Environment Capabilities:

  • Profile Management: Active profile detection and validation
  • Property Resolution: Hierarchical property source resolution
  • Configuration Abstraction: Unified access to various config sources
  • Type Conversion: Automatic type conversion for property values

Typical Usage:

final env = context.getEnvironment();

// Check active profiles
if (env.acceptsProfiles({'dev', 'debug'})) {
  print('Running in development mode');
  enableDebugFeatures();
} else if (env.acceptsProfiles({'production'})) {
  print('Running in production mode');
  enableProductionFeatures();
}

// Access configuration properties
final dbUrl = env.getProperty('database.url');
final maxConnections = env.getProperty('database.pool.max-size', int.fromString);
final enableCache = env.getProperty('cache.enabled', bool.fromString, defaultValue: false);

// Work with property sources
for (final source in env.getPropertySources()) {
  print('Property source: ${source.getName()}');
}

Implementation

Environment getEnvironment();