def set_created_date(self, doc, created):
     """Sets created date, Raises CardinalityError if
     created date already set.
     Raises SPDXValueError if created is not a date.
     """
     if not self.created_date_set:
         self.created_date_set = True
         date = utils.datetime_from_iso_format(created)
         if date is not None:
             doc.creation_info.created = date
             return True
         else:
             raise SPDXValueError('CreationInfo::Date')
     else:
         raise CardinalityError('CreationInfo::Created')
 def add_annotation_date(self, doc, annotation_date):
     """Sets the annotation date. Raises CardinalityError if
     already set. OrderError if no annotator defined before.
     Raises SPDXValueError if invalid value.
     """
     if len(doc.annotations) != 0:
         if not self.annotation_date_set:
             self.annotation_date_set = True
             date = utils.datetime_from_iso_format(annotation_date)
             if date is not None:
                 doc.annotations[-1].annotation_date = date
                 return True
             else:
                 raise SPDXValueError('Annotation::AnnotationDate')
         else:
             raise CardinalityError('Annotation::AnnotationDate')
     else:
         raise OrderError('Annotation::AnnotationDate')
 def add_review_date(self, doc, reviewed):
     """Sets the review date. Raises CardinalityError if
     already set. OrderError if no reviewer defined before.
     Raises SPDXValueError if invalid reviewed value.
     """
     if len(doc.reviews) != 0:
         if not self.review_date_set:
             self.review_date_set = True
             date = utils.datetime_from_iso_format(reviewed)
             if date is not None:
                 doc.reviews[-1].review_date = date
                 return True
             else:
                 raise SPDXValueError('Review::ReviewDate')
         else:
             raise CardinalityError('Review::ReviewDate')
     else:
         raise OrderError('Review::ReviewDate')