# Role constructor

const Role(

1. DesignRole value

)

Declares the design role of a class or method within a Jetleaf application.

This annotation is intended for design-time metadata and architectural documentation. It can also be used by tooling (e.g., code generators, analyzers) to enforce architectural rules.

### Example

    @Role(DesignRole.APPLICATION)
    class UserService {
      Future<User> findById(String id) {
        // business logic here
      }
    }

    @Role(DesignRole.APPLICATION)
    class UserController {
      final UserService service;

      UserController(this.service);

      @Get('/users/:id')
      Future<User> getUser(String id) => service.findById(id);
    }

> Note: `@Role` is not required for Jetleaf runtime behavior, but it is highly recommended for clarity and tooling support.

## Implementation

    const Role(this.value);