body method
Defines the actual body code. path is passed relative to lib, baseName is the filename, and className is the filename converted to Pascal case.
実際の本体コードを定義します。pathにlibからの相対パス、baseNameにファイル名が渡され、classNameにファイル名をパスカルケースに変換した値が渡されます。
Implementation
@override
String body(String baseName, String className) {
return r"""
列挙型`Enum`の実装は下記の方法で行う。
1. 下記のコマンドを実行して`lib/enums`フォルダに列挙型を作成する。
```bash
katana code enum [EnumName(SnakeCase)]
```
2. `lib/enums/[EnumName(SnakeCase)].dart`に列挙型が作成される。
- 例:
```dart
// lib/enums/priority.dart
/// Enum for Priority.
enum PriorityEnum {
}
```
3. 項目を追加する。
- 項目はカンマで区切る。
- 実装しやすいように項目の最後にセミコロンを付ける。
- 例:
```dart
// lib/enums/priority.dart
/// Enum for Priority.
enum PriorityEnum {
low,
medium,
high;
}
```
4. 様々なプロパティを付与。
- 各項目ごとのラベルやデザイン、プロパティなどを付与したい場合は、各種メソッドを作成して値を取得できるようにする。
- 不要であれば実施しなくてもよい。
- 例:
```dart
// lib/enums/priority.dart
/// Enum for Priority.
enum PriorityEnum {
low,
medium,
high;
/// ラベルを取得する。
String get label => switch (this) {
low => "低",
medium => "中",
high => "高",
};
/// 色を取得する。
String get color => switch (this) {
low => Colors.blue,
medium => Colors.green,
high => Colors.red,
};
}
```
""";
}