2017-07-12 17:36:15 +02:00
|
|
|
|
|
|
|
class ObjectFactory(object):
|
|
|
|
|
2017-07-12 21:22:50 +02:00
|
|
|
def __init__(self, created_by=None, object_markings=None, granular_markings=None):
|
2017-07-12 17:36:15 +02:00
|
|
|
self.created_by = created_by
|
2017-07-12 21:22:50 +02:00
|
|
|
self.object_markings = object_markings
|
|
|
|
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-12 17:36:15 +02:00
|
|
|
if self.created_by is not None:
|
|
|
|
kwargs['created_by_ref'] = self.created_by
|
2017-07-12 21:22:50 +02:00
|
|
|
if self.object_markings is not None:
|
|
|
|
kwargs['object_marking_refs'] = self.object_markings
|
|
|
|
if self.granular_markings is not None:
|
|
|
|
kwargs['granular_markings'] = self.granular_markings
|
2017-07-12 17:36:15 +02:00
|
|
|
|
|
|
|
return cls(**kwargs)
|