package eu.dnetlib.common.ws.nh;

/**
 * Common notifications constants.
 * 
 * @author mhorst
 *
 */
public final class NotificationConstants {

	
	public static final String TOPIC_PREFIX_CREATE	 			= "CREATE";
	
	public static final String TOPIC_PREFIX_DELETE	 			= "DELETE";
	
	public static final String TOPIC_PREFIX_UPDATE	 			= "UPDATE";
		
	public static final int TERMINATION_TIME_INFINITE	 		= 0;
	
	public static final String SUBSCR_TOPIC_SEPARATOR	 		= "/";
	
	public static final String NOTIFICATION_TOPIC_SEPARATOR		= ".";
	
	public static final String ASTERISK							= "*";
	
//	collection related notifications
	public static final String COLLECTION_RESOURCE_TYPE 		= "CollectionDSResourceType";
	
	public static final String SUBSCR_TOPIC_CREATE_COLLECTION 	= TOPIC_PREFIX_CREATE + SUBSCR_TOPIC_SEPARATOR + COLLECTION_RESOURCE_TYPE;
	
	public static final String TOPIC_CREATE_COLLECTION 			= TOPIC_PREFIX_CREATE + NOTIFICATION_TOPIC_SEPARATOR + COLLECTION_RESOURCE_TYPE;
	
	public static final String SUBSCR_TOPIC_UPDATE_COLLECTION 	= TOPIC_PREFIX_UPDATE + SUBSCR_TOPIC_SEPARATOR + COLLECTION_RESOURCE_TYPE;
	
	public static final String TOPIC_UPDATE_COLLECTION 			= TOPIC_PREFIX_UPDATE + NOTIFICATION_TOPIC_SEPARATOR + COLLECTION_RESOURCE_TYPE;
	
	public static final String SUBSCR_TOPIC_DELETE_COLLECTION 	= TOPIC_PREFIX_DELETE + SUBSCR_TOPIC_SEPARATOR + COLLECTION_RESOURCE_TYPE;
	
	public static final String TOPIC_DELETE_COLLECTION 			= TOPIC_PREFIX_DELETE + NOTIFICATION_TOPIC_SEPARATOR + COLLECTION_RESOURCE_TYPE;
	
//	mdformat related notifications
	public static final String MD_FORMAT_RESOURCE_TYPE 			= "MDFormatDSResourceType";
	
	public static final String SUBSCR_TOPIC_CREATE_MD_FORMAT 	= TOPIC_PREFIX_CREATE + SUBSCR_TOPIC_SEPARATOR + MD_FORMAT_RESOURCE_TYPE;
	
	public static final String TOPIC_CREATE_MD_FORMAT 			= TOPIC_PREFIX_CREATE + NOTIFICATION_TOPIC_SEPARATOR + MD_FORMAT_RESOURCE_TYPE;
	
	public static final String SUBSCR_TOPIC_UPDATE_MD_FORMAT 	= TOPIC_PREFIX_UPDATE + SUBSCR_TOPIC_SEPARATOR + MD_FORMAT_RESOURCE_TYPE;
	
	public static final String TOPIC_UPDATE_MD_FORMAT 			= TOPIC_PREFIX_UPDATE + NOTIFICATION_TOPIC_SEPARATOR + MD_FORMAT_RESOURCE_TYPE;
	
	public static final String SUBSCR_TOPIC_DELETE_MD_FORMAT 	= TOPIC_PREFIX_DELETE + SUBSCR_TOPIC_SEPARATOR + MD_FORMAT_RESOURCE_TYPE;
	
	public static final String TOPIC_DELETE_MD_FORMAT 			= TOPIC_PREFIX_DELETE + NOTIFICATION_TOPIC_SEPARATOR + MD_FORMAT_RESOURCE_TYPE;
	
	
	public static final String INDEX_SERVICE_RESOURCE_TYPE 		= "IndexServiceResourceType";
	
	
	/**
	 * Default hidden constructor.
	 */
	private NotificationConstants() {}
}
