• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*******************************************************************************
2  * Copyright 2011 See AUTHORS file.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  ******************************************************************************/
16 
17 package com.badlogic.gdx.assets;
18 
19 public class RefCountedContainer {
20 	Object object;
21 	int refCount = 1;
22 
RefCountedContainer(Object object)23 	public RefCountedContainer (Object object) {
24 		if (object == null) throw new IllegalArgumentException("Object must not be null");
25 		this.object = object;
26 	}
27 
incRefCount()28 	public void incRefCount () {
29 		refCount++;
30 	}
31 
decRefCount()32 	public void decRefCount () {
33 		refCount--;
34 	}
35 
getRefCount()36 	public int getRefCount () {
37 		return refCount;
38 	}
39 
setRefCount(int refCount)40 	public void setRefCount (int refCount) {
41 		this.refCount = refCount;
42 	}
43 
getObject(Class<T> type)44 	public <T> T getObject (Class<T> type) {
45 		return (T)object;
46 	}
47 
setObject(Object asset)48 	public void setObject (Object asset) {
49 		this.object = asset;
50 	}
51 }
52