Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inheritance Extensions #72

Open
davaya opened this issue Jun 9, 2024 · 0 comments
Open

Inheritance Extensions #72

davaya opened this issue Jun 9, 2024 · 0 comments

Comments

@davaya
Copy link

davaya commented Jun 9, 2024

As described for JSON Schema, schemas define static types and are inherently mismatched to the dynamically evaluated class inheritance used in object-oriented programming. Nonetheless, inheritance graphs are used extensively in software and data design.

JADN needs two kinds of type option to support inheritance:

  1. Inheritance extensions (extends, restricts, and abstract) that can be processed directly by OOP software or by the JADN unfolding process
  2. Inheritance annotations to record that the core type was generated using inheritance. Annotations do not affect schema processing and can be ignored by core JADN processors.

Unfolding converts extensions to core JADN by generating fully-expanded type definitions and replacing the extension with the annotation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant