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

ro.isdc.wro.config.jmx.WroConfigurationMBean Maven / Gradle / Ivy

There is a newer version: 2.1.1
Show newest version
/**
 * Copyright Alex Objelean
 */
package ro.isdc.wro.config.jmx;

/**
 * This interface defines the MBean which manage the wro4j configuration.
 * 
 * @author Alex Objelean
 */
public interface WroConfigurationMBean {

	/**
	 * @return period in seconds when the wro model (by default read from wro.xml)
	 *         is updated.
	 */
	long getModelUpdatePeriod();

	/**
	 * Set after how many seconds the wro model should be updated.
	 * 
	 * @param period number of seconds. Zero or less, means never.
	 */
	void setModelUpdatePeriod(Long period);

	/**
	 * @return period in seconds when the cache containing merged resources by group
	 *         should be updated.
	 */
	long getCacheUpdatePeriod();

	/**
	 * Set after how many seconds the cache containing merged resources by group
	 * name should be updated.
	 * 
	 * @param period number of seconds. Zero or less, means never.
	 */
	void setCacheUpdatePeriod(Long period);

	/**
	 * @return period in seconds indicating how often resource changes are checked.
	 */
	long getResourceWatcherUpdatePeriod();

	/**
	 * Set after how many seconds the resource change detection is performed..
	 * 
	 * @param period number of seconds. Zero or less, means never.
	 */
	void setResourceWatcherUpdatePeriod(Long period);

	/**
	 * @return true if Gzip is Enabled.
	 */
	boolean isGzipEnabled();

	/**
	 * @param enabled if true, gzip will be enabled, otherwise will be disabled.
	 */
	void setGzipEnabled(Boolean enabled);

	/**
	 * @return the state of debug flag.
	 */
	boolean isDebug();

	/**
	 * Set the debug mode.
	 * 
	 * @param debug if true, the wro4j will run in DEVELOPMENT MODE.
	 */
	void setDebug(Boolean debug);

	/**
	 * Force reload of the cache.
	 */
	void reloadCache();

	/**
	 * Force reload of the model.
	 */
	void reloadModel();

	/**
	 * After how many seconds the connection to servlet context and external url
	 * will be timed-out. This is useful to avoid memory leaks when connection pool
	 * responsible for cache and model reload is destroyed.
	 * 
	 * @param seconds value in seconds.
	 */
	void setConnectionTimeout(Integer seconds);

	/**
	 * @return the number of seconds to wait until connection will timeout.
	 */
	int getConnectionTimeout();

	/**
	 * Whether gzipped content should be cached or not. In order to take effect,
	 * after changing this value, reload the cache.
	 * 
	 * @param cache boolean flag.
	 */
	void setCacheGzippedContent(Boolean cache);

	/**
	 * @return true if the cacheGzippedContent flag is enabled.
	 */
	boolean isCacheGzippedContent();

	/**
	 * Encoding to use when writing the processed result into the output stream.
	 * 
	 * @param encoding name of the charset encoding to set.
	 */
	void setEncoding(String encoding);

	/**
	 * @return currently used encoding.
	 */
	String getEncoding();

	/**
	 * @return if missing resources should be ignored.
	 */
	boolean isIgnoreMissingResources();

	/**
	 * Set the ignoreMissingResources flag.
	 *
	 * @param ignore The new ignoreMissingResources flag.
	 */
	void setIgnoreMissingResources(Boolean ignore);

	/**
	 * @param ignore turns on/off failure on empty group (when there is nothing to
	 *               process).
	 */
	void setIgnoreEmptyGroup(Boolean ignore);

	/**
	 * @return value of the flag responsible for handling empty group behavior.
	 */
	boolean isIgnoreEmptyGroup();

	/**
	 * @param minifyResources set to false to override minification settings on all
	 *                        resources
	 */
	void setMinimizeEnabled(Boolean minifyResources);

	/**
	 * @return value of flag that controls override of resource minification
	 */
	boolean isMinimizeEnabled();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy