package org.xbib.io.webdav.api;

/**
 * <code>Subscription</code> represents public representation of the event
 * listener created (or modified) by a successful SUBSCRIBE request.<br>
 * Please note that this interface extends the <code>XmlSerializable</code>
 * interface. The Xml representation of a <code>Subscription</code> is
 * returned in the response to a successful SUBSCRIBE request as well
 * as in a PROPFIND request.
 */
public interface Subscription extends XMLizable {

    /**
     * Returns the id of this subscription, that must be used for un-subscribing
     * as well as for event discovery later on.
     *
     * @return subscriptionId
     */
    String getSubscriptionId();

    /**
     * @return whether events will be returned with node type information
     */
    boolean eventsProvideNodeTypeInformation();

    /**
     * @return whether events will be returned with the "noLocal" flag
     */
    boolean eventsProvideNoLocalFlag();
}