All Downloads are FREE. Search and download functionalities are using the official Maven repository.

es.prodevelop.pui9.elasticsearch.interfaces.IPuiElasticSearchEnablement Maven / Gradle / Ivy

package es.prodevelop.pui9.elasticsearch.interfaces;

import es.prodevelop.pui9.model.dto.interfaces.IViewDto;

/**
 * This interface provides some basic check configuration operations against
 * ElasticSearch, like availability, activation, synchronization, blocking and
 * indexable views...
 * 
 * @author Marc Gil - [email protected]
 */
public interface IPuiElasticSearchEnablement {

	/**
	 * Check if Elastic Search is available or not (connected to any Node)
	 */
	boolean isElasticSearchAvailable();

	/**
	 * Set Elastic Search service activation status
	 */
	void setElasticSearchActive(boolean active);

	/**
	 * Check if Elastic Search service is active
	 */
	boolean isElasticSearchActive();

	/**
	 * Check if Elastic Search is synchronizing any View
	 */
	boolean isSynchronizingAnyView();

	/**
	 * Check if Elastic Search is synchonizing the given view
	 */
	boolean isSynchronizingView(Class dtoClass);

	/**
	 * Add the given view as being synchronized
	 */
	void addSynchronizingView(Class dtoClass);

	/**
	 * Remove the given view from being synchronized
	 */
	void removeSynchronizingView(Class dtoClass);

	/**
	 * Add the given View to the blocked list
	 */
	void addBlockedView(Class dtoClass);

	/**
	 * Remove the given View from the blocked list
	 */
	void removeBlockedView(Class dtoClass);

	/**
	 * Check if the View is blocked or not
	 */
	boolean isViewBlocked(Class dtoClass);

	/**
	 * Include the given View for being indexed by ElasticSearch
	 */
	void addIndexableView(Class dtoClass);

	/**
	 * Remove the given View from the indexable Views list
	 */
	void removeIndexableView(Class dtoClass);

	/**
	 * Check if the View is indexable by ElasticSearch or not
	 */
	boolean isViewIndexable(Class dtoClass);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy