2017-07-12 17:36:15 +02:00
|
|
|
|
|
|
|
class ObjectFactory(object):
|
|
|
|
|
2017-07-13 15:45:43 +02:00
|
|
|
def __init__(self, created_by_ref=None, created=None,
|
|
|
|
external_references=None, object_marking_refs=None,
|
|
|
|
granular_markings=None):
|
|
|
|
self.created_by_ref = created_by_ref
|
|
|
|
self.created = created
|
2017-07-12 22:11:51 +02:00
|
|
|
self.external_references = external_references
|
2017-07-13 15:45:43 +02:00
|
|
|
self.object_marking_refs = object_marking_refs
|
|
|
|
self.granular_markings = granular_markings
|
2017-07-12 17:36:15 +02:00
|
|
|
|
2017-07-12 21:22:50 +02:00
|
|
|
def create(self, cls, **kwargs):
|
2017-07-13 15:45:43 +02:00
|
|
|
if 'created_by_ref' not in kwargs and self.created_by_ref is not None:
|
|
|
|
kwargs['created_by_ref'] = self.created_by_ref
|
|
|
|
if 'created' not in kwargs and self.created is not None:
|
|
|
|
kwargs['created'] = self.created
|
|
|
|
if 'modified' not in kwargs:
|
|
|
|
kwargs['modified'] = self.created
|
|
|
|
if 'external_references' not in kwargs and self.external_references is not None:
|
2017-07-12 22:11:51 +02:00
|
|
|
kwargs['external_references'] = self.external_references
|
2017-07-13 15:45:43 +02:00
|
|
|
if 'object_marking_refs' not in kwargs and self.object_marking_refs is not None:
|
|
|
|
kwargs['object_marking_refs'] = self.object_marking_refs
|
|
|
|
if 'granular_markings' not in kwargs and self.granular_markings is not None:
|
|
|
|
kwargs['granular_markings'] = self.granular_markings
|
2017-07-12 17:36:15 +02:00
|
|
|
|
|
|
|
return cls(**kwargs)
|