| /** |
| * 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(); |
| |
| } |