![]() |
lingua-franca 0.10.1
Lingua Franca code generator
|
An abstract base class for target properties. More...
Public Member Functions | |
| Optional< Element > | astElementFromConfig (TargetConfig config) |
| boolean | checkType (KeyValuePair pair, MessageReporter reporter) |
| If the given key-value pair does not match the type required by this target property, report an error through the given reporter. | |
| boolean | equals (Object obj) |
| Return true if the given object is an instance of a class with the same name. | |
| int | hashCode () |
| abstract T | initialValue () |
| Return the initial value to assign to this target property. | |
| boolean | loadFromFederate () |
| Return true if this property is to be loaded from imported federates, false otherwise. | |
| boolean | loadFromFederation () |
| Return true if this property is to be loaded by federates when specified at the level of the federation, false otherwise. | |
| boolean | loadFromImport () |
| Return true if this property is to be loaded from imported files, false otherwise. | |
| abstract String | name () |
| Return the name of this target property (in kebab case). | |
| final void | override (TargetConfig config, T value) |
| Replace the value assigned to this target property in the given config with the given value. | |
| abstract Element | toAstElement (T value) |
| Return an AST node that represents this target property and the value currently assigned to it. | |
| String | toString () |
| final void | update (TargetConfig config, JsonElement element, MessageReporter reporter) |
| Update the given configuration based on the given JSON element. | |
| final void | update (TargetConfig config, KeyValuePair pair, MessageReporter reporter) |
| Update the given configuration based on the given corresponding AST node. | |
| void | update (TargetConfig config, T value) |
| Update the given configuration using the given value. | |
| void | validate (TargetConfig config, MessageReporter reporter) |
| Override this method to implement additional checks. | |
Public Attributes | |
| final S | type |
| The type of values assignable to this target property. | |
Protected Member Functions | |
| abstract T | fromAst (Element node, MessageReporter reporter) |
| Given an AST node, produce a corresponding value that is assignable to this target property, or report an error via the given reporter in case any problems are encountered. | |
| T | fromJSON (JsonElement element, MessageReporter reporter) |
| Return a value based on the given JSON element. | |
| abstract T | fromString (String string, MessageReporter reporter) |
| Given a string, produce a corresponding value that is assignable to this target property, or report an error via the given reporter in case any problems are encountered. | |
| TargetProperty (S type) | |
| Construct a new target property. | |
An abstract base class for target properties.
| <T> | The Java type of the value assigned to the target property. |
| <S> | The LF type of the value assigned to the target property. |
|
protected |
Construct a new target property.
| type | The type of the value that can be assigned to the property. |
| Optional< Element > org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.astElementFromConfig | ( | TargetConfig | config | ) |
| boolean org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.checkType | ( | KeyValuePair | pair, |
| MessageReporter | reporter ) |
If the given key-value pair does not match the type required by this target property, report an error through the given reporter.
| pair | The ast node that matches this target property. |
| reporter | The reporter to issue an error through if the given key-value pair does not match the type required by this property. |
| boolean org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.equals | ( | Object | obj | ) |
Return true if the given object is an instance of a class with the same name.
| obj | The object to compare this instance to. |
|
abstractprotected |
Given an AST node, produce a corresponding value that is assignable to this target property, or report an error via the given reporter in case any problems are encountered.
| node | The AST node to derive a value of type T from. |
| reporter | A reporter for reporting errors. |
|
protected |
Return a value based on the given JSON element.
| element | The JSON element to produce a value from/ |
| reporter | A message reporter for reporting issues. |
|
abstractprotected |
Given a string, produce a corresponding value that is assignable to this target property, or report an error via the given reporter in case any problems are encountered.
| string | The string to derive a value of type T from. |
| reporter | A reporter for reporting errors. |
| int org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.hashCode | ( | ) |
|
abstract |
Return the initial value to assign to this target property.
| boolean org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.loadFromFederate | ( | ) |
Return true if this property is to be loaded from imported federates, false otherwise.
| boolean org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.loadFromFederation | ( | ) |
Return true if this property is to be loaded by federates when specified at the level of the federation, false otherwise.
| boolean org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.loadFromImport | ( | ) |
Return true if this property is to be loaded from imported files, false otherwise.
|
abstract |
Return the name of this target property (in kebab case).
| final void org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.override | ( | TargetConfig | config, |
| T | value ) |
Replace the value assigned to this target property in the given config with the given value.
| config | The configuration to change. |
| value | The new value to assign. |
|
abstract |
Return an AST node that represents this target property and the value currently assigned to it.
| String org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.toString | ( | ) |
| final void org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.update | ( | TargetConfig | config, |
| JsonElement | element, | ||
| MessageReporter | reporter ) |
Update the given configuration based on the given JSON element.
| config | The configuration to update. |
| element | The JSON element that holds the value to perform the update with. |
| reporter | A reporter to report issues. |
| final void org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.update | ( | TargetConfig | config, |
| KeyValuePair | pair, | ||
| MessageReporter | reporter ) |
Update the given configuration based on the given corresponding AST node.
If the given configuration does not belong in the AST, then report an error using the error message given by TargetConfig.NOT_IN_LF_SYNTAX_MESSAGE.
| config | The configuration to update. |
| pair | The pair that holds the value to perform the update with. |
| reporter | A reporter to report issues. |
| void org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.update | ( | TargetConfig | config, |
| T | value ) |
Update the given configuration using the given value.
The default implementation simply assigns the given value, overriding whatever value might have been assigned before.
| config | The configuration to update. |
| value | The value to perform the update with. |
| void org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.validate | ( | TargetConfig | config, |
| MessageReporter | reporter ) |
Override this method to implement additional checks.
The base implementation does nothing.
This method is meant to perform additional validation above and beyond checking target support and type checking which are done automatically.
| config | The target configuration to check against. |
| reporter | A reporter for reporting errors. |
| final S org.lflang.target.property.TargetProperty< T, S extends TargetPropertyType >.type |
The type of values assignable to this target property.