@abc.abstractmethod<EOL><INDENT>def get_commitments_by_genus_type_for_event_and_resource_on_date(self, event_id, resource_id, commitment_genus_type,<EOL>from_, to):<DEDENT>
return<EOL>
Gets a ``CommitmentList`` of the given genus type for the given event, resource, commitment genus type and
        effective during the entire given date range inclusive but not confined to the date range.

        :param event_id: ``Id`` of the ``Event``
        :type event_id: ``osid.id.Id``
        :param resource_id: ``Id`` of a ``Resource``
        :type resource_id: ``osid.id.Id``
        :param commitment_genus_type: commitment genus type
        :type commitment_genus_type: ``osid.type.Type``
        :param from: starting date
        :type from: ``osid.calendaring.DateTime``
        :param to: ending date
        :type to: ``osid.calendaring.DateTime``
        :return: list of commitments
        :rtype: ``osid.calendaring.CommitmentList``
        :raise: ``InvalidArgument`` -- ``from`` is greater than ``to``
        :raise: ``NullArgument`` -- ``event_id, resource_id, commitment_genus_type, from`` or ``to`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*