github.com/F4RD1N/gomobile@v1.0.1/bind/testdata/testpkg/javapkg/classes.go (about)

     1  // Copyright 2016 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package javapkg
     6  
     7  import (
     8  	"Java/java/beans"
     9  	"Java/java/io"
    10  	"Java/java/io/IOException"
    11  	"Java/java/lang"
    12  	"Java/java/lang/Character"
    13  	"Java/java/lang/Integer"
    14  	"Java/java/lang/Object"
    15  	"Java/java/lang/Runnable"
    16  	"Java/java/net"
    17  	"Java/java/nio"
    18  	"Java/java/util"
    19  	"Java/java/util/concurrent"
    20  	gopkg "Java/javapkg"
    21  	xnet "Java/javax/net"
    22  )
    23  
    24  const (
    25  	ToStringPrefix     = "Go toString: "
    26  	IOExceptionMessage = "GoInputStream IOException"
    27  )
    28  
    29  type GoRunnable struct {
    30  	lang.Object
    31  	lang.Runnable
    32  	this lang.Runnable
    33  
    34  	Field string
    35  }
    36  
    37  func (r *GoRunnable) ToString(this gopkg.GoRunnable) string {
    38  	return ToStringPrefix
    39  }
    40  
    41  func (r *GoRunnable) Run(this gopkg.GoRunnable) {
    42  }
    43  
    44  func (r *GoRunnable) GetThis(this gopkg.GoRunnable) lang.Runnable {
    45  	return this
    46  }
    47  
    48  type GoInputStream struct {
    49  	io.InputStream
    50  }
    51  
    52  func (_ *GoInputStream) Read() (int32, error) {
    53  	return 0, IOException.New(IOExceptionMessage)
    54  }
    55  
    56  func NewGoInputStream() *GoInputStream {
    57  	return new(GoInputStream)
    58  }
    59  
    60  type GoFuture struct {
    61  	concurrent.Future
    62  }
    63  
    64  func (_ *GoFuture) Cancel(_ bool) bool {
    65  	return false
    66  }
    67  
    68  func (_ *GoFuture) Get() (lang.Object, error) {
    69  	return nil, nil
    70  }
    71  
    72  // Use a trailing underscore to override multiple overloaded methods.
    73  func (_ *GoFuture) Get_(_ int64, _ concurrent.TimeUnit) (lang.Object, error) {
    74  	return nil, nil
    75  }
    76  
    77  func (_ *GoFuture) IsCancelled() bool {
    78  	return false
    79  }
    80  
    81  func (_ *GoFuture) IsDone() bool {
    82  	return false
    83  }
    84  
    85  type GoObject struct {
    86  	lang.Object
    87  	this lang.Object
    88  }
    89  
    90  func (o *GoObject) ToString(this gopkg.GoObject) string {
    91  	o.this = this
    92  	return ToStringPrefix + this.Super().ToString()
    93  }
    94  
    95  func (_ *GoObject) HashCode() int32 {
    96  	return 42
    97  }
    98  
    99  func RunRunnable(r lang.Runnable) {
   100  	r.Run()
   101  }
   102  
   103  func RunnableRoundtrip(r lang.Runnable) lang.Runnable {
   104  	return r
   105  }
   106  
   107  // Test constructing and returning Go instances of GoObject and GoRunnable
   108  // outside a constructor
   109  func ConstructGoRunnable() *GoRunnable {
   110  	return new(GoRunnable)
   111  }
   112  
   113  func ConstructGoObject() *GoObject {
   114  	return new(GoObject)
   115  }
   116  
   117  // java.beans.PropertyChangeEvent is a class a with no default constructors.
   118  type GoPCE struct {
   119  	beans.PropertyChangeEvent
   120  }
   121  
   122  func NewGoPCE(_ lang.Object, _ string, _ lang.Object, _ lang.Object) *GoPCE {
   123  	return new(GoPCE)
   124  }
   125  
   126  // java.util.ArrayList is a class with multiple constructors
   127  type GoArrayList struct {
   128  	util.ArrayList
   129  }
   130  
   131  func NewGoArrayList() *GoArrayList {
   132  	return new(GoArrayList)
   133  }
   134  
   135  func NewGoArrayListWithCap(_ int32) *GoArrayList {
   136  	return new(GoArrayList)
   137  }
   138  
   139  func UnwrapGoArrayList(l gopkg.GoArrayList) {
   140  	_ = l.Unwrap().(*GoArrayList)
   141  }
   142  
   143  func CallSubset(s Character.Subset) {
   144  	s.ToString()
   145  }
   146  
   147  type GoSubset struct {
   148  	Character.Subset
   149  }
   150  
   151  func NewGoSubset(_ string) *GoSubset {
   152  	return new(GoSubset)
   153  }
   154  
   155  func NewJavaObject() lang.Object {
   156  	return Object.New()
   157  }
   158  
   159  func NewJavaInteger() lang.Integer {
   160  	i, _ := Integer.New(int32(42))
   161  	return i
   162  }
   163  
   164  type NoargConstructor struct {
   165  	util.BitSet // An otherwise unused class with a no-arg constructor
   166  }
   167  
   168  type GoRand struct {
   169  	util.Random
   170  }
   171  
   172  func (_ *GoRand) Next(this gopkg.GoRand, i int32) int32 {
   173  	return this.Super().Next(i)
   174  }
   175  
   176  type I interface{}
   177  
   178  func CastInterface(intf I) lang.Runnable {
   179  	var r lang.Runnable = Runnable.Cast(intf)
   180  	r.Run()
   181  	return r
   182  }
   183  
   184  func CastRunnable(o lang.Object) lang.Runnable {
   185  	defer func() {
   186  		recover() // swallow the panic
   187  	}()
   188  	var r lang.Runnable = Runnable.Cast(o)
   189  	r.Run()
   190  	return r
   191  }
   192  
   193  // Test that extending classes from Java packages
   194  // with the same last component (in this case "net")
   195  // works.
   196  func NameClashingPackages(_ net.Socket, _ xnet.SocketFactory) {
   197  }
   198  
   199  func testReferenceToUnsupportedParameters() {
   200  	var ib nio.IntBuffer
   201  	ib.Put(nil)
   202  }