def get_composition_notification_session_for_repository(self,
                                                            composition_receiver=None,
                                                            repository_id=None,
                                                            proxy=None):
        """Gets the composition notification session for the given repository.

        arg:    composition_receiver
                (osid.repository.CompositionReceiver): the notification
                callback
        arg:    repository_id (osid.id.Id): the ``Id`` of the repository
        arg:    proxy (osid.proxy.Proxy): a proxy
        return: (osid.repository.CompositionNotificationSession) - a
                ``CompositionNotificationSession``
        raise:  NotFound - ``repository_id`` not found
        raise:  NullArgument - ``composition_receiver, repository_id``
                or ``proxy`` is ``null``
        raise:  OperationFailed - ``unable to complete request``
        raise:  Unimplemented - ``supports_composition_notification()``
                or ``supports_visible_federation()`` is ``false``
        *compliance: optional -- This method must be implemented if
        ``supports_composition_notfication()`` and
        ``supports_visible_federation()`` are ``true``.*

        """
        # Implemented from awsosid template for -
        # osid.resource.ResourceManager.get_resource_lookup_session_for_bin_template
        return self._provider_manager.get_composition_notification_session_for_repository(
            composition_receiver,
            proxy)