/**
 * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0 
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *         Florian Pirchner - Initial implementation
 */
package org.eclipse.osbp.runtime.common.dispose;

// TODO: Auto-generated Javadoc
/**
 * Implementations need to hold an internal counter about references to the
 * instance. If usage reaches zero, the instance must be disposed.
 */
public interface IReferenceCountable {

	/**
	 * Returns the usage count.
	 *
	 * @return the usage count
	 */
	int getUsageCount();

	/**
	 * Increases the usage count.
	 */
	void increaseUsageCount();

	/**
	 * Decreases the usage count.
	 */
	void decreaseUsageCount();

}
