No Extension For Final¶
No Extension For Final
is a Schema Constraint that checks every schema for extension entries that are marked with a final
modifier.
Usage Example¶
root_schema_with_good_ext = """
schema:
name: TestParent
package: test_aac.plugins.no_ext_for_final
fields:
- name: name
type: string
- name: test_field
type: string
---
schema:
name: TestChild
package: test_aac.plugins.no_ext_for_final
extends:
- name: TestParent
package: test_aac.plugins.no_ext_for_final
fields:
- name: name
type: string
- name: test_field
In the above example, TestChild
is extending TestSchema
. TestSchema
has the final
modifier, meaning that any schema that extends it will fail the No Extension For Final
constraint.