# Properties class abstract interface

The Properties interface provides a clean, method-based API for querying the runtime environment. Unlike direct property access, all system state is exposed via methods to enforce immutability and ensure consistent naming conventions.

### Features

- Runtime compilation mode detection
- Execution environment analysis
- IDE integration detection
- Lifecycle & configuration metadata

### Example

    if (SystemEnvironment.isRunningAot()) {
      logger.info('Running in AOT mode');
    }

    if (SystemEnvironment.isIdeRunning()) {
      enableHotReload();
    }

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

getCompilationMode() → CompilationMode
  Returns the current Dart VM `CompilationMode`.
getConfigurationCount() → int
  Returns the number of discovered configuration classes.
getDependencyCount() → int
  Returns the number of resolved dependencies in the application context.
getEntrypoint() → String
  Returns the application entry point file path.
getLaunchCommand() → String
  Returns the full command used to launch the application.
isDevelopmentMode() → bool
  Returns `true` if the application is running in development mode.
isIdeRunning() → bool
  Returns `true` if the application was launched from an IDE environment.
isProductionMode() → bool
  Returns `true` if the application is running in production mode.
isRunningAot() → bool
  Returns `true` if the application is running with AOT (Ahead-of-Time) compilation.
isRunningFromDill() → bool
  Returns `true` if the application is running from a precompiled `.dill` file.
isRunningJit() → bool
  Returns `true` if the application is running with JIT (Just-in-Time) compilation.
isWatchModeEnabled() → bool
  Returns `true` if the application is running in watch / hot-reload mode.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited