import java_swift
import java_lang
/// generated by: genswift.java 'java/lang|java/util|java/sql|java/awt|javax/swing' ///
/// JAVA_HOME: /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home ///
/// Tue Dec 20 11:29:51 GMT 2016 ///
/// class java.util.concurrent.atomic.AtomicReference ///
open class AtomicReference: java_lang.JavaObject, /* java.io.Serializable */ UnclassedProtocol {
public convenience init?( casting object: java_lang.JavaObject, _ file: StaticString = #file, _ line: Int = #line ) {
self.init( javaObject: nil )
if !object.validDownCast( toJavaClass: "java.util.concurrent.atomic.AtomicReference", file, line ) {
return nil
}
object.withJavaObject {
self.javaObject = $0
}
}
private static var AtomicReferenceJNIClass: jclass?
/// private static final long java.util.concurrent.atomic.AtomicReference.serialVersionUID
/// private static final sun.misc.Unsafe java.util.concurrent.atomic.AtomicReference.unsafe
/// private static final long java.util.concurrent.atomic.AtomicReference.valueOffset
/// private volatile java.lang.Object java.util.concurrent.atomic.AtomicReference.value
/// public java.util.concurrent.atomic.AtomicReference(java.lang.Object)
private static var new_MethodID_1: jmethodID?
public convenience init( arg0: java_lang.JavaObject? ) {
var __args = [jvalue]( repeating: jvalue(), count: 1 )
var __locals = [jobject]()
__args[0] = JNIType.encode( value: arg0, locals: &__locals )
let __object = JNIMethod.NewObject( className: "java/util/concurrent/atomic/AtomicReference", classCache: &AtomicReference.AtomicReferenceJNIClass, methodSig: "(Ljava/lang/Object;)V", methodCache: &AtomicReference.new_MethodID_1, args: &__args, locals: &__locals )
self.init( javaObject: __object )
JNI.DeleteLocalRef( __object )
}
public convenience init( _ _arg0: java_lang.JavaObject? ) {
self.init( arg0: _arg0 )
}
/// public java.util.concurrent.atomic.AtomicReference()
private static var new_MethodID_2: jmethodID?
public convenience init() {
var __args = [jvalue]( repeating: jvalue(), count: 1 )
var __locals = [jobject]()
let __object = JNIMethod.NewObject( className: "java/util/concurrent/atomic/AtomicReference", classCache: &AtomicReference.AtomicReferenceJNIClass, methodSig: "()V", methodCache: &AtomicReference.new_MethodID_2, args: &__args, locals: &__locals )
self.init( javaObject: __object )
JNI.DeleteLocalRef( __object )
}
/// public final java.lang.Object java.util.concurrent.atomic.AtomicReference.get()
private static var get_MethodID_3: jmethodID?
open func get() -> java_lang.JavaObject! {
var __args = [jvalue]( repeating: jvalue(), count: 1 )
var __locals = [jobject]()
let __return = JNIMethod.CallObjectMethod( object: javaObject, methodName: "get", methodSig: "()Ljava/lang/Object;", methodCache: &AtomicReference.get_MethodID_3, args: &__args, locals: &__locals )
defer { JNI.DeleteLocalRef( __return ) }
return __return != nil ? java_lang.JavaObject( javaObject: __return ) : nil
}
/// public java.lang.String java.util.concurrent.atomic.AtomicReference.toString()
/// public final void java.util.concurrent.atomic.AtomicReference.set(java.lang.Object)
private static var set_MethodID_4: jmethodID?
open func set( arg0: java_lang.JavaObject? ) {
var __args = [jvalue]( repeating: jvalue(), count: 1 )
var __locals = [jobject]()
__args[0] = JNIType.encode( value: arg0, locals: &__locals )
JNIMethod.CallVoidMethod( object: javaObject, methodName: "set", methodSig: "(Ljava/lang/Object;)V", methodCache: &AtomicReference.set_MethodID_4, args: &__args, locals: &__locals )
}
open func set( _ _arg0: java_lang.JavaObject? ) {
set( arg0: _arg0 )
}
/// public final void java.util.concurrent.atomic.AtomicReference.lazySet(java.lang.Object)
private static var lazySet_MethodID_5: jmethodID?
open func lazySet( arg0: java_lang.JavaObject? ) {
var __args = [jvalue]( repeating: jvalue(), count: 1 )
var __locals = [jobject]()
__args[0] = JNIType.encode( value: arg0, locals: &__locals )
JNIMethod.CallVoidMethod( object: javaObject, methodName: "lazySet", methodSig: "(Ljava/lang/Object;)V", methodCache: &AtomicReference.lazySet_MethodID_5, args: &__args, locals: &__locals )
}
open func lazySet( _ _arg0: java_lang.JavaObject? ) {
lazySet( arg0: _arg0 )
}
/// public final java.lang.Object java.util.concurrent.atomic.AtomicReference.getAndSet(java.lang.Object)
private static var getAndSet_MethodID_6: jmethodID?
open func getAndSet( arg0: java_lang.JavaObject? ) -> java_lang.JavaObject! {
var __args = [jvalue]( repeating: jvalue(), count: 1 )
var __locals = [jobject]()
__args[0] = JNIType.encode( value: arg0, locals: &__locals )
let __return = JNIMethod.CallObjectMethod( object: javaObject, methodName: "getAndSet", methodSig: "(Ljava/lang/Object;)Ljava/lang/Object;", methodCache: &AtomicReference.getAndSet_MethodID_6, args: &__args, locals: &__locals )
defer { JNI.DeleteLocalRef( __return ) }
return __return != nil ? java_lang.JavaObject( javaObject: __return ) : nil
}
open func getAndSet( _ _arg0: java_lang.JavaObject? ) -> java_lang.JavaObject! {
return getAndSet( arg0: _arg0 )
}
/// public final boolean java.util.concurrent.atomic.AtomicReference.compareAndSet(java.lang.Object,java.lang.Object)
private static var compareAndSet_MethodID_7: jmethodID?
open func compareAndSet( arg0: java_lang.JavaObject?, arg1: java_lang.JavaObject? ) -> Bool {
var __args = [jvalue]( repeating: jvalue(), count: 2 )
var __locals = [jobject]()
__args[0] = JNIType.encode( value: arg0, locals: &__locals )
__args[1] = JNIType.encode( value: arg1, locals: &__locals )
let __return = JNIMethod.CallBooleanMethod( object: javaObject, methodName: "compareAndSet", methodSig: "(Ljava/lang/Object;Ljava/lang/Object;)Z", methodCache: &AtomicReference.compareAndSet_MethodID_7, args: &__args, locals: &__locals )
return JNIType.decode( type: Bool(), from: __return )
}
open func compareAndSet( _ _arg0: java_lang.JavaObject?, _ _arg1: java_lang.JavaObject? ) -> Bool {
return compareAndSet( arg0: _arg0, arg1: _arg1 )
}
/// public final boolean java.util.concurrent.atomic.AtomicReference.weakCompareAndSet(java.lang.Object,java.lang.Object)
private static var weakCompareAndSet_MethodID_8: jmethodID?
open func weakCompareAndSet( arg0: java_lang.JavaObject?, arg1: java_lang.JavaObject? ) -> Bool {
var __args = [jvalue]( repeating: jvalue(), count: 2 )
var __locals = [jobject]()
__args[0] = JNIType.encode( value: arg0, locals: &__locals )
__args[1] = JNIType.encode( value: arg1, locals: &__locals )
let __return = JNIMethod.CallBooleanMethod( object: javaObject, methodName: "weakCompareAndSet", methodSig: "(Ljava/lang/Object;Ljava/lang/Object;)Z", methodCache: &AtomicReference.weakCompareAndSet_MethodID_8, args: &__args, locals: &__locals )
return JNIType.decode( type: Bool(), from: __return )
}
open func weakCompareAndSet( _ _arg0: java_lang.JavaObject?, _ _arg1: java_lang.JavaObject? ) -> Bool {
return weakCompareAndSet( arg0: _arg0, arg1: _arg1 )
}
}