Implementation
@override
String get usage {
return '''
$usageHeader
$nameOfExecutable generate state [Your${AFCodeGenerator.rootSuffix}|Your${AFCodeGenerator.stateViewSuffix}|Your${AFCodeGenerator.lpiSuffix}|YourModelWithNoSpecialSuffix] [any --options]
$descriptionHeader
If your identifier ends with ${AFCodeGenerator.rootSuffix}, creates a new root model linked to the root of your component/application state.
If your identifier ends with ${AFCodeGenerator.stateViewSuffix}, creates a new state view and supporting classes for that state view
If your identifier ends with ${AFCodeGenerator.lpiSuffix}, creates a new LibraryProgrammingInterface (primarily used in libraries, app usually override existing LPIs)
If your identifer does not end with any special suffix, creates a new immutable model object under state/models, generally these objects are referenced under on of your root models.
$optionsHeader
For Root States or Simple Models
${AFGenerateSubcommand.argMemberVariablesHelp}
Note: If your backend store has integer ids, specify "int id;" as your id, AFib will automatically convert to/from a string on the client.
${AFGenerateSubcommand.argResolveVariablesHelp}
For Simple Models Only
--$argAddStandardRoot - Add if you want to also generate a standard root containing a map of String ids to objects of this model.
--$argNoReviseMethods - Include if you do not want to generate default revise methods for each member variable
--$argNotSerial - Include if you do not want to generate standard serialization methods
For State Views
--${AFGenerateUISubcommand.argTheme} The type of the theme to use, defaults to your default theme
Standard Options
--$argExportTemplatesHelp
--$argOverrideTemplatesHelp
${AFCommand.argPrivateOptionHelp}
''';
}