# Value class

Value annotation for property injection

This annotation injects property values into fields and parameters.

Example Usage:

    PodExpression<String> expr = (context) {
      return StandardPodCache("Hello, ${context.getPod("userName")}", "dart.core.String");
    };

    @Component()
    class DatabaseService {
      @Value('#{database.url}')
      late final String databaseUrl;

      @Value('#{database.timeout:30}') // Default value 30
      late final int timeout;

      @Value('#{database}')
      late final String database;

      @Value('#{database.enabled:true}')
      late final bool enabled;

      @Value('@{lifecycleProcessor}') // Reference to a pod
      late final LifecycleProcessor lifecycleProcessor;

      @Value("&{systemProperties['user.home']}") // Pod expression
      late final String userHome;

      @Value(CustomPodExpression<String>()) // Custom pod expression
      late final String customValue;
    }

    @Configuration()
    class AppConfig {
      @Pod()
      DataSource dataSource(
        @Value('#{database.url}') String url,
        @Value('#{database.username}') String username,
        @Value('#{database.password}') String password
      ) {
        return DataSource(url: url, username: username, password: password);
      }
    }

Inheritance
  - Object
  - ReflectableAnnotation
  - Value
Annotations
  - @Target({TargetKind.field, TargetKind.parameter})

## Constructors

Value.new(Object value)
  Value annotation for property injection
  const

## Properties

annotationType → Type
  Returns the annotation _type of this annotation.
  no setter override
hashCode → int
  Returns a hash code consistent with equality definition.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
value → Object
  Property expression
  final

## Methods

equals(Object other) → bool
  Checks whether the given object is logically equivalent to this annotation.
  inherited
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  Returns a string representation of this annotation.
  override

## Operators

operator ==(Object other) → bool
  Checks if this annotation is equal to another object.
  inherited