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

org.ligoj.app.plugin.prov.model.ResourceScope Maven / Gradle / Ivy

The newest version!
/*
 * Licensed under MIT (https://github.com/ligoj/ligoj/blob/master/LICENSE)
 */
package org.ligoj.app.plugin.prov.model;

/**
 * Properties holder of a resource at a specific scope.
 */
public interface ResourceScope {

	/**
	 * Optional usage for this resource when different from the related quote.
	 *
	 * @return usage for this resource when different from the related quote. May be null
	 */
	ProvUsage getUsage();

	/**
	 * Usage for this resource when different from the related quote.
	 *
	 * @param usage The new usage for this resource when different from the related quote. May be null
	 */
	void setUsage(ProvUsage usage);

	/**
	 * Optional budget for this resource when different from the related quote. May be null
	 *
	 * @return budget for this resource when different from the related quote. May be null
	 */
	ProvBudget getBudget();

	/**
	 * Optional budget for this resource when different from the related quote.
	 *
	 * @param budget The new budget for this resource when different from the related quote. May be null
	 */
	void setBudget(ProvBudget budget);

	/**
	 * Optional optimizer for this resource when different from the related quote. May be null
	 *
	 * @return optimizer for this resource when different from the related quote. May be null
	 */
	ProvOptimizer getOptimizer();

	/**
	 * Optional optimizer for this resource when different from the related quote.
	 *
	 * @param optimizer The new optimizer for this resource when different from the related quote. May be
	 *                  null
	 */
	void setOptimizer(ProvOptimizer optimizer);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy