cti-python-stix2/stix2
Michael Chisholm 8bbf5fa461 Make extension instances work the same as other objects, with
respect to properties.  Before, properties were declared on
toplevel-property-extension extensions as if they were going
to be used in the normal way (as actual properties on instances
of the extension), but they were not used that way, and there
was some ugly hackage to make it work.  Despite the fact that
property instances were given during extension registration,
they were not used to typecheck, set defaults, etc on toplevel
property extension properties.

I changed how registration and object initialization works with
respect to properties associated with extensions.  Now,
extensions work the same as any other object and code is
cleaner.  Property instances associated with registered toplevel
extensions are used to enforce requirements like any other
object.

Added some unit tests specifically for property cleaning for
extensions.

Property order (for those contexts where it matters) is updated
to be spec-defined, toplevel extension, custom.
2021-07-06 14:27:40 -04:00
..
canonicalization Revert JSON canonicalization code 2021-02-18 12:21:52 -05:00
confidence update project documentation. 2018-11-28 16:51:00 -05:00
datastore Merge pull request #500 from emmanvg/add-fp-serialize 2021-03-19 21:13:30 -04:00
equivalence Update __init__.py 2021-03-12 16:49:23 -05:00
markings Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal 2021-02-19 21:54:46 -05:00
test Make extension instances work the same as other objects, with 2021-07-06 14:27:40 -04:00
v20 Remove relics of the old way customization was handled and 2021-06-25 22:10:31 -04:00
v21 Make extension instances work the same as other objects, with 2021-07-06 14:27:40 -04:00
__init__.py Fix import sort order 2021-01-15 10:27:39 -05:00
base.py Make extension instances work the same as other objects, with 2021-07-06 14:27:40 -04:00
custom.py Make extension instances work the same as other objects, with 2021-07-06 14:27:40 -04:00
environment.py Update stix2/environment.py 2021-03-10 09:52:24 -05:00
exceptions.py Add some missing docstrings on a few exception classes. 2021-01-28 23:02:23 -05:00
hashes.py Add proper customization enforcement for open vocabs. This adds 2021-03-31 16:20:28 -04:00
parsing.py Update guide docs, remove outdated comments 2021-04-14 16:39:56 -04:00
pattern_visitor.py Remove six dependency (backwards breaking) 2021-02-18 12:38:35 -05:00
patterns.py few leftover changes... 2021-02-19 22:15:11 -05:00
properties.py Bug fixes, hackage removal, and some pre-commit stylistic 2021-06-30 17:50:00 -04:00
registration.py couple of changes after merging against master 2021-02-19 10:05:56 -05:00
registry.py Improve customization detection in the face of 2021-06-30 20:20:29 -04:00
serialization.py apply fp_serialize() changes on main serialize() method 2021-03-18 18:08:31 -04:00
utils.py Clean up ReferenceProperty.clean(), to use new APIs which are 2021-03-31 20:01:27 -04:00
version.py Small tweaks: move the definition of DEFAULT_VERSION from the 2021-01-13 11:22:34 -05:00
versioning.py Initial revamp of customization enforcement and detection. 2021-03-31 15:21:55 -04:00
workbench.py Improve versioning.new_version() to better handle custom objects 2021-01-28 23:02:23 -05:00