Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 7a9ecb8

Browse files
authoredMay 28, 2025
Add JavaIO and CSV example (#234)
* [javakit] Generate some java.io types * [javakit] exception description should include type, otherwise hard to act on * [sample] extend dependency example to consume commons csv as an example * add missing license in empty file * [javakit] correct the description/toString of Throwable * Discard changes to Samples/JavaKitSampleApp/Sources/JavaKitExample/com/example/swift/HelloSwift.java * Discard changes to Samples/JavaKitSampleApp/Sources/JavaKitExample/JavaKitExample.swift
1 parent 00df828 commit 7a9ecb8

34 files changed

+897
-106
lines changed
 

‎Package.swift

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ let package = Package(
7676
targets: ["JavaKitNetwork"]
7777
),
7878

79+
.library(
80+
name: "JavaKitIO",
81+
targets: ["JavaKitIO"]
82+
),
83+
7984
.library(
8085
name: "JavaKitReflection",
8186
targets: ["JavaKitReflection"]
@@ -241,6 +246,15 @@ let package = Package(
241246
.unsafeFlags(["-I\(javaIncludePath)", "-I\(javaPlatformIncludePath)"])
242247
]
243248
),
249+
.target(
250+
name: "JavaKitIO",
251+
dependencies: ["JavaKit", "JavaKitCollection"],
252+
exclude: ["swift-java.config"],
253+
swiftSettings: [
254+
.swiftLanguageMode(.v5),
255+
.unsafeFlags(["-I\(javaIncludePath)", "-I\(javaPlatformIncludePath)"])
256+
]
257+
),
244258
.target(
245259
name: "JavaKitReflection",
246260
dependencies: ["JavaKit", "JavaKitCollection"],
@@ -448,6 +462,6 @@ let package = Package(
448462
swiftSettings: [
449463
.swiftLanguageMode(.v5)
450464
]
451-
)
465+
),
452466
]
453467
)

‎Samples/JavaDependencySampleApp/Package.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ let package = Package(
8686
.product(name: "JavaKit", package: "swift-java"),
8787
.product(name: "JavaKitFunction", package: "swift-java"),
8888
.product(name: "JavaKitCollection", package: "swift-java"),
89+
.product(name: "JavaKitIO", package: "swift-java"),
90+
.product(name: "JavaKitNetwork", package: "swift-java"),
8991
],
9092
exclude: ["swift-java.config"],
9193
swiftSettings: [
@@ -98,5 +100,7 @@ let package = Package(
98100
]
99101
),
100102

103+
.target(name: "JavaExample"),
104+
101105
]
102106
)

‎Samples/JavaDependencySampleApp/Sources/JavaCommonsCSV/swift-java.config

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
{
22
"classes" : {
33
"org.apache.commons.io.FilenameUtils" : "FilenameUtils",
4-
"org.apache.commons.io.IOCase" : "IOCase"
4+
"org.apache.commons.io.IOCase" : "IOCase",
5+
"org.apache.commons.csv.CSVFormat" : "CSVFormat",
6+
"org.apache.commons.csv.CSVParser" : "CSVParser",
7+
"org.apache.commons.csv.CSVRecord" : "CSVRecord"
58
},
69
"dependencies" : [
710
"org.apache.commons:commons-csv:1.12.0"

‎Samples/JavaDependencySampleApp/Sources/JavaDependencySample/main.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import JavaKit
1616
import JavaKitFunction
17+
import JavaKitIO
1718
import JavaKitConfigurationShared
1819
import Foundation
1920

@@ -42,4 +43,13 @@ let ext = try! FilenameUtilsClass.getExtension(path)
4243
print("org.apache.commons.io.FilenameUtils.getExtension = \(ext)")
4344
precondition(ext == "exe")
4445

46+
let CSVFormatClass = try JavaClass<CSVFormat>()
47+
48+
let reader = StringReader("hello,example")
49+
for record in try CSVFormatClass.RFC4180.parse(reader)!.getRecords()! {
50+
for field in record.toList()! {
51+
print("Field: \(field)")
52+
}
53+
}
54+
4555
print("Done.")
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//===----------------------------------------------------------------------===//
2+
//
3+
// This source file is part of the Swift.org open source project
4+
//
5+
// Copyright (c) YEARS Apple Inc. and the Swift.org project authors
6+
// Licensed under Apache License v2.0
7+
//
8+
// See LICENSE.txt for license information
9+
// See CONTRIBUTORS.txt for the list of Swift.org project authors
10+
//
11+
// SPDX-License-Identifier: Apache-2.0
12+
//
13+
//===----------------------------------------------------------------------===//

‎Sources/Java2Swift/JavaToSwift+FetchDependencies.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ extension JavaToSwift {
4040
print("[info][swift-java] Resolved classpath for \(deps.count) dependencies of '\(moduleName)', classpath entries: \(classpathEntries.count), ", terminator: "")
4141
print("done.".green)
4242

43+
for entry in classpathEntries {
44+
print("[info][swift-java] Classpath entry: \(entry)")
45+
}
46+
4347
return ResolvedDependencyClasspath(for: dependencies, classpath: dependenciesClasspath)
4448
}
4549

@@ -133,6 +137,8 @@ extension JavaToSwift {
133137
// The file contents are just plain
134138
let contents = resolvedClasspath.classpath
135139

140+
print("[debug][swift-java] Resolved dependency: \(classpath)")
141+
136142
// Write the file
137143
try writeContents(
138144
contents,

‎Sources/JavaKit/Exceptions/Throwable+Error.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
// Translate all Java Throwable instances in a Swift error.
1616
extension Throwable: Error, CustomStringConvertible {
1717
public var description: String {
18-
return getMessage()
18+
return toString()
1919
}
2020
}
2121

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaRuntime
3+
4+
@JavaInterface("java.lang.Appendable")
5+
public struct Appendable {
6+
@JavaMethod
7+
public func append(_ arg0: CharSequence?) throws -> Appendable!
8+
9+
@JavaMethod
10+
public func append(_ arg0: CharSequence?, _ arg1: Int32, _ arg2: Int32) throws -> Appendable!
11+
12+
@JavaMethod
13+
public func append(_ arg0: UInt16) throws -> Appendable!
14+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaRuntime
3+
4+
@JavaInterface("java.lang.CharSequence")
5+
public struct CharSequence {
6+
@JavaMethod
7+
public func length() -> Int32
8+
9+
@JavaMethod
10+
public func toString() -> String
11+
12+
@JavaMethod
13+
public func charAt(_ arg0: Int32) -> UInt16
14+
15+
@JavaMethod
16+
public func isEmpty() -> Bool
17+
18+
@JavaMethod
19+
public func subSequence(_ arg0: Int32, _ arg1: Int32) -> CharSequence!
20+
}
21+
extension JavaClass<CharSequence> {
22+
@JavaStaticMethod
23+
public func compare(_ arg0: CharSequence?, _ arg1: CharSequence?) -> Int32
24+
}

‎Sources/JavaKit/generated/JavaInteger.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import JavaRuntime
33

44
@JavaClass("java.lang.Integer")
55
open class JavaInteger: JavaNumber {
6+
67
@JavaMethod
78
@_nonoverride public convenience init(_ arg0: Int32, environment: JNIEnvironment? = nil)
89

‎Sources/JavaKit/generated/JavaLong.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,18 @@ extension JavaClass<JavaLong> {
167167
@JavaStaticMethod
168168
public func rotateRight(_ arg0: Int64, _ arg1: Int32) -> Int64
169169

170+
@JavaStaticMethod
171+
public func parseLong(_ arg0: CharSequence?, _ arg1: Int32, _ arg2: Int32, _ arg3: Int32) throws -> Int64
172+
170173
@JavaStaticMethod
171174
public func parseLong(_ arg0: String, _ arg1: Int32) throws -> Int64
172175

173176
@JavaStaticMethod
174177
public func parseLong(_ arg0: String) throws -> Int64
175178

179+
@JavaStaticMethod
180+
public func parseUnsignedLong(_ arg0: CharSequence?, _ arg1: Int32, _ arg2: Int32, _ arg3: Int32) throws -> Int64
181+
176182
@JavaStaticMethod
177183
public func parseUnsignedLong(_ arg0: String, _ arg1: Int32) throws -> Int64
178184

‎Sources/JavaKit/generated/JavaString.swift

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Auto-generated by Java-to-Swift wrapper generator.
22
import JavaRuntime
33

4-
@JavaClass("java.lang.String")
4+
@JavaClass("java.lang.String", implements: CharSequence.self)
55
open class JavaString: JavaObject {
66
@JavaMethod
77
@_nonoverride public convenience init(_ arg0: [Int8], _ arg1: String, environment: JNIEnvironment? = nil) throws
@@ -52,16 +52,16 @@ open class JavaString: JavaObject {
5252
open func getChars(_ arg0: Int32, _ arg1: Int32, _ arg2: [UInt16], _ arg3: Int32)
5353

5454
@JavaMethod
55-
open func compareTo(_ arg0: JavaObject?) -> Int32
55+
open func compareTo(_ arg0: String) -> Int32
5656

5757
@JavaMethod
58-
open func compareTo(_ arg0: String) -> Int32
58+
open func compareTo(_ arg0: JavaObject?) -> Int32
5959

6060
@JavaMethod
61-
open func indexOf(_ arg0: String, _ arg1: Int32, _ arg2: Int32) -> Int32
61+
open func indexOf(_ arg0: String, _ arg1: Int32) -> Int32
6262

6363
@JavaMethod
64-
open func indexOf(_ arg0: String) -> Int32
64+
open func indexOf(_ arg0: String, _ arg1: Int32, _ arg2: Int32) -> Int32
6565

6666
@JavaMethod
6767
open func indexOf(_ arg0: Int32) -> Int32
@@ -73,7 +73,7 @@ open class JavaString: JavaObject {
7373
open func indexOf(_ arg0: Int32, _ arg1: Int32, _ arg2: Int32) -> Int32
7474

7575
@JavaMethod
76-
open func indexOf(_ arg0: String, _ arg1: Int32) -> Int32
76+
open func indexOf(_ arg0: String) -> Int32
7777

7878
@JavaMethod
7979
open func charAt(_ arg0: Int32) -> UInt16
@@ -90,48 +90,54 @@ open class JavaString: JavaObject {
9090
@JavaMethod
9191
open func offsetByCodePoints(_ arg0: Int32, _ arg1: Int32) -> Int32
9292

93-
@JavaMethod
94-
open func getBytes() -> [Int8]
95-
9693
@JavaMethod
9794
open func getBytes(_ arg0: String) throws -> [Int8]
9895

9996
@JavaMethod
10097
open func getBytes(_ arg0: Int32, _ arg1: Int32, _ arg2: [Int8], _ arg3: Int32)
10198

10299
@JavaMethod
103-
open func regionMatches(_ arg0: Bool, _ arg1: Int32, _ arg2: String, _ arg3: Int32, _ arg4: Int32) -> Bool
100+
open func getBytes() -> [Int8]
101+
102+
@JavaMethod
103+
open func contentEquals(_ arg0: CharSequence?) -> Bool
104104

105105
@JavaMethod
106106
open func regionMatches(_ arg0: Int32, _ arg1: String, _ arg2: Int32, _ arg3: Int32) -> Bool
107107

108+
@JavaMethod
109+
open func regionMatches(_ arg0: Bool, _ arg1: Int32, _ arg2: String, _ arg3: Int32, _ arg4: Int32) -> Bool
110+
108111
@JavaMethod
109112
open func startsWith(_ arg0: String) -> Bool
110113

111114
@JavaMethod
112115
open func startsWith(_ arg0: String, _ arg1: Int32) -> Bool
113116

114117
@JavaMethod
115-
open func lastIndexOf(_ arg0: String) -> Int32
118+
open func lastIndexOf(_ arg0: Int32) -> Int32
116119

117120
@JavaMethod
118-
open func lastIndexOf(_ arg0: Int32, _ arg1: Int32) -> Int32
121+
open func lastIndexOf(_ arg0: String) -> Int32
119122

120123
@JavaMethod
121124
open func lastIndexOf(_ arg0: String, _ arg1: Int32) -> Int32
122125

123126
@JavaMethod
124-
open func lastIndexOf(_ arg0: Int32) -> Int32
127+
open func lastIndexOf(_ arg0: Int32, _ arg1: Int32) -> Int32
125128

126129
@JavaMethod
127-
open func substring(_ arg0: Int32) -> String
130+
open func substring(_ arg0: Int32, _ arg1: Int32) -> String
128131

129132
@JavaMethod
130-
open func substring(_ arg0: Int32, _ arg1: Int32) -> String
133+
open func substring(_ arg0: Int32) -> String
131134

132135
@JavaMethod
133136
open func isEmpty() -> Bool
134137

138+
@JavaMethod
139+
open func replace(_ arg0: CharSequence?, _ arg1: CharSequence?) -> String
140+
135141
@JavaMethod
136142
open func replace(_ arg0: UInt16, _ arg1: UInt16) -> String
137143

@@ -189,9 +195,15 @@ open class JavaString: JavaObject {
189195
@JavaMethod
190196
open func endsWith(_ arg0: String) -> Bool
191197

198+
@JavaMethod
199+
open func subSequence(_ arg0: Int32, _ arg1: Int32) -> CharSequence!
200+
192201
@JavaMethod
193202
open func concat(_ arg0: String) -> String
194203

204+
@JavaMethod
205+
open func contains(_ arg0: CharSequence?) -> Bool
206+
195207
@JavaMethod
196208
open func indent(_ arg0: Int32) -> String
197209

@@ -215,39 +227,42 @@ open class JavaString: JavaObject {
215227
}
216228
}
217229
extension JavaClass<JavaString> {
230+
@JavaStaticMethod
231+
public func valueOf(_ arg0: JavaObject?) -> String
232+
218233
@JavaStaticMethod
219234
public func valueOf(_ arg0: Int64) -> String
220235

221236
@JavaStaticMethod
222-
public func valueOf(_ arg0: [UInt16]) -> String
237+
public func valueOf(_ arg0: Int32) -> String
223238

224239
@JavaStaticMethod
225-
public func valueOf(_ arg0: JavaObject?) -> String
240+
public func valueOf(_ arg0: UInt16) -> String
226241

227242
@JavaStaticMethod
228243
public func valueOf(_ arg0: [UInt16], _ arg1: Int32, _ arg2: Int32) -> String
229244

230245
@JavaStaticMethod
231-
public func valueOf(_ arg0: Float) -> String
246+
public func valueOf(_ arg0: Bool) -> String
232247

233248
@JavaStaticMethod
234249
public func valueOf(_ arg0: Double) -> String
235250

236251
@JavaStaticMethod
237-
public func valueOf(_ arg0: UInt16) -> String
252+
public func valueOf(_ arg0: [UInt16]) -> String
238253

239254
@JavaStaticMethod
240-
public func valueOf(_ arg0: Bool) -> String
255+
public func valueOf(_ arg0: Float) -> String
241256

242257
@JavaStaticMethod
243-
public func valueOf(_ arg0: Int32) -> String
258+
public func join(_ arg0: CharSequence?, _ arg1: [CharSequence?]) -> String
244259

245260
@JavaStaticMethod
246261
public func format(_ arg0: String, _ arg1: [JavaObject?]) -> String
247262

248263
@JavaStaticMethod
249-
public func copyValueOf(_ arg0: [UInt16]) -> String
264+
public func copyValueOf(_ arg0: [UInt16], _ arg1: Int32, _ arg2: Int32) -> String
250265

251266
@JavaStaticMethod
252-
public func copyValueOf(_ arg0: [UInt16], _ arg1: Int32, _ arg2: Int32) -> String
267+
public func copyValueOf(_ arg0: [UInt16]) -> String
253268
}

‎Sources/JavaKit/swift-java.config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
"java.lang.String" : "JavaString",
2020
"java.lang.Throwable" : "Throwable",
2121
"java.lang.Void" : "JavaVoid",
22+
"java.lang.CharSequence": "CharSequence",
23+
"java.lang.Appendable": "Appendable",
2224
"java.util.Optional": "JavaOptional",
2325
"java.util.OptionalDouble": "JavaOptionalDouble",
2426
"java.util.OptionalInt": "JavaOptionalInt",

‎Sources/JavaKitCollection/generated/BitSet.swift

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,20 @@ import JavaRuntime
44

55
@JavaClass("java.util.BitSet")
66
open class BitSet: JavaObject {
7-
@JavaMethod
8-
@_nonoverride public convenience init(environment: JNIEnvironment? = nil)
9-
107
@JavaMethod
118
@_nonoverride public convenience init(_ arg0: Int32, environment: JNIEnvironment? = nil)
129

1310
@JavaMethod
14-
open func cardinality() -> Int32
15-
16-
@JavaMethod
17-
open func nextSetBit(_ arg0: Int32) -> Int32
18-
19-
@JavaMethod
20-
open func toLongArray() -> [Int64]
21-
22-
@JavaMethod
23-
open func previousSetBit(_ arg0: Int32) -> Int32
24-
25-
@JavaMethod
26-
open func previousClearBit(_ arg0: Int32) -> Int32
27-
28-
@JavaMethod
29-
open func intersects(_ arg0: BitSet?) -> Bool
11+
@_nonoverride public convenience init(environment: JNIEnvironment? = nil)
3012

3113
@JavaMethod
3214
open func size() -> Int32
3315

3416
@JavaMethod
35-
open func get(_ arg0: Int32, _ arg1: Int32) -> BitSet!
17+
open func get(_ arg0: Int32) -> Bool
3618

3719
@JavaMethod
38-
open func get(_ arg0: Int32) -> Bool
20+
open func get(_ arg0: Int32, _ arg1: Int32) -> BitSet!
3921

4022
@JavaMethod
4123
open override func equals(_ arg0: JavaObject?) -> Bool
@@ -52,29 +34,29 @@ open class BitSet: JavaObject {
5234
@JavaMethod
5335
open override func clone() -> JavaObject!
5436

55-
@JavaMethod
56-
open func clear(_ arg0: Int32)
57-
5837
@JavaMethod
5938
open func clear(_ arg0: Int32, _ arg1: Int32)
6039

6140
@JavaMethod
6241
open func clear()
6342

6443
@JavaMethod
65-
open func isEmpty() -> Bool
44+
open func clear(_ arg0: Int32)
6645

6746
@JavaMethod
68-
open func set(_ arg0: Int32, _ arg1: Int32, _ arg2: Bool)
47+
open func isEmpty() -> Bool
6948

7049
@JavaMethod
71-
open func set(_ arg0: Int32, _ arg1: Int32)
50+
open func set(_ arg0: Int32, _ arg1: Bool)
7251

7352
@JavaMethod
7453
open func set(_ arg0: Int32)
7554

7655
@JavaMethod
77-
open func set(_ arg0: Int32, _ arg1: Bool)
56+
open func set(_ arg0: Int32, _ arg1: Int32)
57+
58+
@JavaMethod
59+
open func set(_ arg0: Int32, _ arg1: Int32, _ arg2: Bool)
7860

7961
@JavaMethod
8062
open func flip(_ arg0: Int32, _ arg1: Int32)
@@ -99,6 +81,24 @@ open class BitSet: JavaObject {
9981

10082
@JavaMethod
10183
open func andNot(_ arg0: BitSet?)
84+
85+
@JavaMethod
86+
open func cardinality() -> Int32
87+
88+
@JavaMethod
89+
open func nextSetBit(_ arg0: Int32) -> Int32
90+
91+
@JavaMethod
92+
open func toLongArray() -> [Int64]
93+
94+
@JavaMethod
95+
open func previousSetBit(_ arg0: Int32) -> Int32
96+
97+
@JavaMethod
98+
open func previousClearBit(_ arg0: Int32) -> Int32
99+
100+
@JavaMethod
101+
open func intersects(_ arg0: BitSet?) -> Bool
102102
}
103103
extension JavaClass<BitSet> {
104104
@JavaStaticMethod

‎Sources/JavaKitCollection/generated/HashMap.swift

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -61,56 +61,6 @@ open class HashMap<K: AnyJavaObject, V: AnyJavaObject>: JavaObject {
6161
@JavaMethod
6262
open func getOrDefault(_ arg0: JavaObject?, _ arg1: JavaObject?) -> JavaObject!
6363
}
64-
extension HashMap {
65-
@JavaClass("java.util.AbstractMap$SimpleEntry")
66-
open class SimpleEntry<K: AnyJavaObject, V: AnyJavaObject>: JavaObject {
67-
@JavaMethod
68-
@_nonoverride public convenience init(_ arg0: JavaObject?, _ arg1: JavaObject?, environment: JNIEnvironment? = nil)
69-
70-
@JavaMethod
71-
open override func equals(_ arg0: JavaObject?) -> Bool
72-
73-
@JavaMethod
74-
open override func toString() -> String
75-
76-
@JavaMethod
77-
open override func hashCode() -> Int32
78-
79-
@JavaMethod
80-
open func getValue() -> JavaObject!
81-
82-
@JavaMethod
83-
open func getKey() -> JavaObject!
84-
85-
@JavaMethod
86-
open func setValue(_ arg0: JavaObject?) -> JavaObject!
87-
}
88-
}
89-
extension HashMap {
90-
@JavaClass("java.util.AbstractMap$SimpleImmutableEntry")
91-
open class SimpleImmutableEntry<K: AnyJavaObject, V: AnyJavaObject>: JavaObject {
92-
@JavaMethod
93-
@_nonoverride public convenience init(_ arg0: JavaObject?, _ arg1: JavaObject?, environment: JNIEnvironment? = nil)
94-
95-
@JavaMethod
96-
open override func equals(_ arg0: JavaObject?) -> Bool
97-
98-
@JavaMethod
99-
open override func toString() -> String
100-
101-
@JavaMethod
102-
open override func hashCode() -> Int32
103-
104-
@JavaMethod
105-
open func getValue() -> JavaObject!
106-
107-
@JavaMethod
108-
open func getKey() -> JavaObject!
109-
110-
@JavaMethod
111-
open func setValue(_ arg0: JavaObject?) -> JavaObject!
112-
}
113-
}
11464
extension JavaClass {
11565
@JavaStaticMethod
11666
public func newHashMap<K: AnyJavaObject, V: AnyJavaObject>(_ arg0: Int32) -> HashMap<JavaObject, JavaObject>! where ObjectType == HashMap<K, V>

‎Sources/JavaKitCollection/generated/TreeMap.swift

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,53 @@ open class TreeMap<K: AnyJavaObject, V: AnyJavaObject>: JavaObject {
7070
@JavaMethod
7171
open func lastKey() -> JavaObject!
7272
}
73+
extension TreeMap {
74+
@JavaClass("java.util.AbstractMap$SimpleEntry")
75+
open class SimpleEntry<K: AnyJavaObject, V: AnyJavaObject>: JavaObject {
76+
@JavaMethod
77+
@_nonoverride public convenience init(_ arg0: JavaObject?, _ arg1: JavaObject?, environment: JNIEnvironment? = nil)
78+
79+
@JavaMethod
80+
open override func equals(_ arg0: JavaObject?) -> Bool
81+
82+
@JavaMethod
83+
open override func toString() -> String
84+
85+
@JavaMethod
86+
open override func hashCode() -> Int32
87+
88+
@JavaMethod
89+
open func getValue() -> JavaObject!
90+
91+
@JavaMethod
92+
open func getKey() -> JavaObject!
93+
94+
@JavaMethod
95+
open func setValue(_ arg0: JavaObject?) -> JavaObject!
96+
}
97+
}
98+
extension TreeMap {
99+
@JavaClass("java.util.AbstractMap$SimpleImmutableEntry")
100+
open class SimpleImmutableEntry<K: AnyJavaObject, V: AnyJavaObject>: JavaObject {
101+
@JavaMethod
102+
@_nonoverride public convenience init(_ arg0: JavaObject?, _ arg1: JavaObject?, environment: JNIEnvironment? = nil)
103+
104+
@JavaMethod
105+
open override func equals(_ arg0: JavaObject?) -> Bool
106+
107+
@JavaMethod
108+
open override func toString() -> String
109+
110+
@JavaMethod
111+
open override func hashCode() -> Int32
112+
113+
@JavaMethod
114+
open func getValue() -> JavaObject!
115+
116+
@JavaMethod
117+
open func getKey() -> JavaObject!
118+
119+
@JavaMethod
120+
open func setValue(_ arg0: JavaObject?) -> JavaObject!
121+
}
122+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.BufferedInputStream")
6+
open class BufferedInputStream: InputStream {
7+
@JavaMethod
8+
@_nonoverride public convenience init(_ arg0: InputStream?, environment: JNIEnvironment? = nil)
9+
10+
@JavaMethod
11+
@_nonoverride public convenience init(_ arg0: InputStream?, _ arg1: Int32, environment: JNIEnvironment? = nil)
12+
13+
@JavaMethod
14+
open override func reset() throws
15+
16+
@JavaMethod
17+
open override func read(_ arg0: [Int8], _ arg1: Int32, _ arg2: Int32) throws -> Int32
18+
19+
@JavaMethod
20+
open override func read() throws -> Int32
21+
22+
@JavaMethod
23+
open override func close() throws
24+
25+
@JavaMethod
26+
open override func mark(_ arg0: Int32)
27+
28+
@JavaMethod
29+
open override func transferTo(_ arg0: OutputStream?) throws -> Int64
30+
31+
@JavaMethod
32+
open override func skip(_ arg0: Int64) throws -> Int64
33+
34+
@JavaMethod
35+
open override func available() throws -> Int32
36+
37+
@JavaMethod
38+
open override func markSupported() -> Bool
39+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.nio.charset.Charset")
6+
open class Charset: JavaObject {
7+
@JavaMethod
8+
open func name() -> String
9+
10+
@JavaMethod
11+
open override func equals(_ arg0: JavaObject?) -> Bool
12+
13+
@JavaMethod
14+
open override func toString() -> String
15+
16+
@JavaMethod
17+
open override func hashCode() -> Int32
18+
19+
@JavaMethod
20+
open func compareTo(_ arg0: JavaObject?) -> Int32
21+
22+
@JavaMethod
23+
open func compareTo(_ arg0: Charset?) -> Int32
24+
25+
@JavaMethod
26+
open func canEncode() -> Bool
27+
28+
@JavaMethod
29+
open func contains(_ arg0: Charset?) -> Bool
30+
31+
@JavaMethod
32+
open func isRegistered() -> Bool
33+
34+
@JavaMethod
35+
open func displayName() -> String
36+
}
37+
extension JavaClass<Charset> {
38+
@JavaStaticMethod
39+
public func forName(_ arg0: String, _ arg1: Charset?) -> Charset!
40+
41+
@JavaStaticMethod
42+
public func forName(_ arg0: String) -> Charset!
43+
44+
@JavaStaticMethod
45+
public func defaultCharset() -> Charset!
46+
47+
@JavaStaticMethod
48+
public func isSupported(_ arg0: String) -> Bool
49+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.io.Closeable")
6+
public struct Closeable {
7+
@JavaMethod
8+
public func close() throws
9+
}
Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.File")
6+
open class File: JavaObject {
7+
@JavaMethod
8+
@_nonoverride public convenience init(_ arg0: String, environment: JNIEnvironment? = nil)
9+
10+
@JavaMethod
11+
@_nonoverride public convenience init(_ arg0: String, _ arg1: String, environment: JNIEnvironment? = nil)
12+
13+
@JavaMethod
14+
@_nonoverride public convenience init(_ arg0: File?, _ arg1: String, environment: JNIEnvironment? = nil)
15+
16+
@JavaMethod
17+
open func getName() -> String
18+
19+
@JavaMethod
20+
open override func equals(_ arg0: JavaObject?) -> Bool
21+
22+
@JavaMethod
23+
open func length() -> Int64
24+
25+
@JavaMethod
26+
open override func toString() -> String
27+
28+
@JavaMethod
29+
open override func hashCode() -> Int32
30+
31+
@JavaMethod
32+
open func isHidden() -> Bool
33+
34+
@JavaMethod
35+
open func compareTo(_ arg0: File?) -> Int32
36+
37+
@JavaMethod
38+
open func compareTo(_ arg0: JavaObject?) -> Int32
39+
40+
@JavaMethod
41+
open func list() -> [String]
42+
43+
@JavaMethod
44+
open func isAbsolute() -> Bool
45+
46+
@JavaMethod
47+
open func getParent() -> String
48+
49+
@JavaMethod
50+
open func delete() -> Bool
51+
52+
@JavaMethod
53+
open func setReadOnly() -> Bool
54+
55+
@JavaMethod
56+
open func canRead() -> Bool
57+
58+
@JavaMethod
59+
open func getPath() -> String
60+
61+
@JavaMethod
62+
open func getAbsolutePath() -> String
63+
64+
@JavaMethod
65+
open func exists() -> Bool
66+
67+
@JavaMethod
68+
open func createNewFile() throws -> Bool
69+
70+
@JavaMethod
71+
open func renameTo(_ arg0: File?) -> Bool
72+
73+
@JavaMethod
74+
open func isDirectory() -> Bool
75+
76+
@JavaMethod
77+
open func getCanonicalPath() throws -> String
78+
79+
@JavaMethod
80+
open func getAbsoluteFile() -> File!
81+
82+
@JavaMethod
83+
open func mkdir() -> Bool
84+
85+
@JavaMethod
86+
open func getCanonicalFile() throws -> File!
87+
88+
@JavaMethod
89+
open func getParentFile() -> File!
90+
91+
@JavaMethod
92+
open func mkdirs() -> Bool
93+
94+
@JavaMethod
95+
open func setWritable(_ arg0: Bool) -> Bool
96+
97+
@JavaMethod
98+
open func setWritable(_ arg0: Bool, _ arg1: Bool) -> Bool
99+
100+
@JavaMethod
101+
open func setReadable(_ arg0: Bool, _ arg1: Bool) -> Bool
102+
103+
@JavaMethod
104+
open func setReadable(_ arg0: Bool) -> Bool
105+
106+
@JavaMethod
107+
open func setExecutable(_ arg0: Bool, _ arg1: Bool) -> Bool
108+
109+
@JavaMethod
110+
open func setExecutable(_ arg0: Bool) -> Bool
111+
112+
@JavaMethod
113+
open func canWrite() -> Bool
114+
115+
@JavaMethod
116+
open func isFile() -> Bool
117+
118+
@JavaMethod
119+
open func lastModified() -> Int64
120+
121+
@JavaMethod
122+
open func deleteOnExit()
123+
124+
@JavaMethod
125+
open func listFiles() -> [File?]
126+
127+
@JavaMethod
128+
open func setLastModified(_ arg0: Int64) -> Bool
129+
130+
@JavaMethod
131+
open func canExecute() -> Bool
132+
133+
@JavaMethod
134+
open func getTotalSpace() -> Int64
135+
136+
@JavaMethod
137+
open func getFreeSpace() -> Int64
138+
139+
@JavaMethod
140+
open func getUsableSpace() -> Int64
141+
142+
@JavaMethod
143+
open func toPath() -> Path!
144+
}
145+
extension JavaClass<File> {
146+
@JavaStaticField(isFinal: true)
147+
public var separatorChar: UInt16
148+
149+
@JavaStaticField(isFinal: true)
150+
public var separator: String
151+
152+
@JavaStaticField(isFinal: true)
153+
public var pathSeparatorChar: UInt16
154+
155+
@JavaStaticField(isFinal: true)
156+
public var pathSeparator: String
157+
158+
@JavaStaticMethod
159+
public func listRoots() -> [File?]
160+
161+
@JavaStaticMethod
162+
public func createTempFile(_ arg0: String, _ arg1: String) throws -> File!
163+
164+
@JavaStaticMethod
165+
public func createTempFile(_ arg0: String, _ arg1: String, _ arg2: File?) throws -> File!
166+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.FileDescriptor")
6+
open class FileDescriptor: JavaObject {
7+
@JavaMethod
8+
@_nonoverride public convenience init(environment: JNIEnvironment? = nil)
9+
10+
@JavaMethod
11+
open func sync() throws
12+
13+
@JavaMethod
14+
open func valid() -> Bool
15+
}
16+
extension JavaClass<FileDescriptor> {
17+
@JavaStaticField(isFinal: true)
18+
public var `in`: FileDescriptor!
19+
20+
@JavaStaticField(isFinal: true)
21+
public var out: FileDescriptor!
22+
23+
@JavaStaticField(isFinal: true)
24+
public var err: FileDescriptor!
25+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.FileReader")
6+
open class FileReader: InputStreamReader {
7+
@JavaMethod
8+
@_nonoverride public convenience init(_ arg0: File?, _ arg1: Charset?, environment: JNIEnvironment? = nil) throws
9+
10+
@JavaMethod
11+
@_nonoverride public convenience init(_ arg0: String, _ arg1: Charset?, environment: JNIEnvironment? = nil) throws
12+
13+
@JavaMethod
14+
@_nonoverride public convenience init(_ arg0: FileDescriptor?, environment: JNIEnvironment? = nil)
15+
16+
@JavaMethod
17+
@_nonoverride public convenience init(_ arg0: File?, environment: JNIEnvironment? = nil) throws
18+
19+
@JavaMethod
20+
@_nonoverride public convenience init(_ arg0: String, environment: JNIEnvironment? = nil) throws
21+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.io.Flushable")
6+
public struct Flushable {
7+
@JavaMethod
8+
public func flush() throws
9+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.InputStream", implements: Closeable.self)
6+
open class InputStream: JavaObject {
7+
@JavaMethod
8+
@_nonoverride public convenience init(environment: JNIEnvironment? = nil)
9+
10+
@JavaMethod
11+
open func reset() throws
12+
13+
@JavaMethod
14+
open func read(_ arg0: [Int8]) throws -> Int32
15+
16+
@JavaMethod
17+
open func read(_ arg0: [Int8], _ arg1: Int32, _ arg2: Int32) throws -> Int32
18+
19+
@JavaMethod
20+
open func read() throws -> Int32
21+
22+
@JavaMethod
23+
open func close() throws
24+
25+
@JavaMethod
26+
open func readAllBytes() throws -> [Int8]
27+
28+
@JavaMethod
29+
open func mark(_ arg0: Int32)
30+
31+
@JavaMethod
32+
open func readNBytes(_ arg0: [Int8], _ arg1: Int32, _ arg2: Int32) throws -> Int32
33+
34+
@JavaMethod
35+
open func readNBytes(_ arg0: Int32) throws -> [Int8]
36+
37+
@JavaMethod
38+
open func transferTo(_ arg0: OutputStream?) throws -> Int64
39+
40+
@JavaMethod
41+
open func skip(_ arg0: Int64) throws -> Int64
42+
43+
@JavaMethod
44+
open func available() throws -> Int32
45+
46+
@JavaMethod
47+
open func markSupported() -> Bool
48+
49+
@JavaMethod
50+
open func skipNBytes(_ arg0: Int64) throws
51+
}
52+
extension JavaClass<InputStream> {
53+
@JavaStaticMethod
54+
public func nullInputStream() -> InputStream!
55+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.InputStreamReader")
6+
open class InputStreamReader: Reader {
7+
@JavaMethod
8+
@_nonoverride public convenience init(_ arg0: InputStream?, _ arg1: Charset?, environment: JNIEnvironment? = nil)
9+
10+
@JavaMethod
11+
@_nonoverride public convenience init(_ arg0: InputStream?, _ arg1: String, environment: JNIEnvironment? = nil) throws
12+
13+
@JavaMethod
14+
@_nonoverride public convenience init(_ arg0: InputStream?, environment: JNIEnvironment? = nil)
15+
16+
@JavaMethod
17+
open override func ready() throws -> Bool
18+
19+
@JavaMethod
20+
open override func read() throws -> Int32
21+
22+
@JavaMethod
23+
open override func read(_ arg0: [UInt16], _ arg1: Int32, _ arg2: Int32) throws -> Int32
24+
25+
@JavaMethod
26+
open override func close() throws
27+
28+
@JavaMethod
29+
open func getEncoding() -> String
30+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.OutputStream", implements: Closeable.self, Flushable.self)
6+
open class OutputStream: JavaObject {
7+
@JavaMethod
8+
@_nonoverride public convenience init(environment: JNIEnvironment? = nil)
9+
10+
@JavaMethod
11+
open func flush() throws
12+
13+
@JavaMethod
14+
open func write(_ arg0: [Int8]) throws
15+
16+
@JavaMethod
17+
open func write(_ arg0: [Int8], _ arg1: Int32, _ arg2: Int32) throws
18+
19+
@JavaMethod
20+
open func write(_ arg0: Int32) throws
21+
22+
@JavaMethod
23+
open func close() throws
24+
}
25+
extension JavaClass<OutputStream> {
26+
@JavaStaticMethod
27+
public func nullOutputStream() -> OutputStream!
28+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.nio.file.Path")
6+
public struct Path {
7+
@JavaMethod
8+
public func getName(_ arg0: Int32) -> Path!
9+
10+
@JavaMethod
11+
public func equals(_ arg0: JavaObject?) -> Bool
12+
13+
@JavaMethod
14+
public func toString() -> String
15+
16+
@JavaMethod
17+
public func hashCode() -> Int32
18+
19+
@JavaMethod
20+
public func compareTo(_ arg0: Path?) -> Int32
21+
22+
@JavaMethod
23+
public func compareTo(_ arg0: JavaObject?) -> Int32
24+
25+
@JavaMethod
26+
public func startsWith(_ arg0: String) -> Bool
27+
28+
@JavaMethod
29+
public func startsWith(_ arg0: Path?) -> Bool
30+
31+
@JavaMethod
32+
public func endsWith(_ arg0: String) -> Bool
33+
34+
@JavaMethod
35+
public func endsWith(_ arg0: Path?) -> Bool
36+
37+
@JavaMethod
38+
public func isAbsolute() -> Bool
39+
40+
@JavaMethod
41+
public func resolve(_ arg0: String, _ arg1: [String]) -> Path!
42+
43+
@JavaMethod
44+
public func resolve(_ arg0: Path?, _ arg1: [Path?]) -> Path!
45+
46+
@JavaMethod
47+
public func resolve(_ arg0: String) -> Path!
48+
49+
@JavaMethod
50+
public func resolve(_ arg0: Path?) -> Path!
51+
52+
@JavaMethod
53+
public func getParent() -> Path!
54+
55+
@JavaMethod
56+
public func getRoot() -> Path!
57+
58+
@JavaMethod
59+
public func toFile() -> File!
60+
61+
@JavaMethod
62+
public func getFileName() -> Path!
63+
64+
@JavaMethod
65+
public func normalize() -> Path!
66+
67+
@JavaMethod
68+
public func relativize(_ arg0: Path?) -> Path!
69+
70+
@JavaMethod
71+
public func getNameCount() -> Int32
72+
73+
@JavaMethod
74+
public func toAbsolutePath() -> Path!
75+
76+
@JavaMethod
77+
public func resolveSibling(_ arg0: String) -> Path!
78+
79+
@JavaMethod
80+
public func resolveSibling(_ arg0: Path?) -> Path!
81+
82+
@JavaMethod
83+
public func subpath(_ arg0: Int32, _ arg1: Int32) -> Path!
84+
}
85+
extension JavaClass<Path> {
86+
@JavaStaticMethod
87+
public func of(_ arg0: String, _ arg1: [String]) -> Path!
88+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.lang.Readable")
6+
public struct Readable {
7+
8+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.Reader", implements: Readable.self, Closeable.self)
6+
open class Reader: JavaObject {
7+
@JavaMethod
8+
open func ready() throws -> Bool
9+
10+
@JavaMethod
11+
open func reset() throws
12+
13+
@JavaMethod
14+
open func read(_ arg0: [UInt16], _ arg1: Int32, _ arg2: Int32) throws -> Int32
15+
16+
@JavaMethod
17+
open func read() throws -> Int32
18+
19+
@JavaMethod
20+
open func read(_ arg0: [UInt16]) throws -> Int32
21+
22+
@JavaMethod
23+
open func close() throws
24+
25+
@JavaMethod
26+
open func mark(_ arg0: Int32) throws
27+
28+
@JavaMethod
29+
open func transferTo(_ arg0: Writer?) throws -> Int64
30+
31+
@JavaMethod
32+
open func skip(_ arg0: Int64) throws -> Int64
33+
34+
@JavaMethod
35+
open func markSupported() -> Bool
36+
}
37+
extension JavaClass<Reader> {
38+
@JavaStaticMethod
39+
public func nullReader() -> Reader!
40+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.StringReader")
6+
open class StringReader: Reader {
7+
@JavaMethod
8+
@_nonoverride public convenience init(_ arg0: String, environment: JNIEnvironment? = nil)
9+
10+
@JavaMethod
11+
open override func ready() throws -> Bool
12+
13+
@JavaMethod
14+
open override func reset() throws
15+
16+
@JavaMethod
17+
open override func read() throws -> Int32
18+
19+
@JavaMethod
20+
open override func read(_ arg0: [UInt16], _ arg1: Int32, _ arg2: Int32) throws -> Int32
21+
22+
@JavaMethod
23+
open override func close()
24+
25+
@JavaMethod
26+
open override func mark(_ arg0: Int32) throws
27+
28+
@JavaMethod
29+
open override func skip(_ arg0: Int64) throws -> Int64
30+
31+
@JavaMethod
32+
open override func markSupported() -> Bool
33+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaInterface("java.nio.file.WatchService", extends: Closeable.self)
6+
public struct WatchService {
7+
@JavaMethod
8+
public func close() throws
9+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// Auto-generated by Java-to-Swift wrapper generator.
2+
import JavaKit
3+
import JavaRuntime
4+
5+
@JavaClass("java.io.Writer", implements: Appendable.self, Closeable.self, Flushable.self)
6+
open class Writer: JavaObject {
7+
@JavaMethod
8+
open func append(_ arg0: UInt16) throws -> Writer!
9+
10+
@JavaMethod
11+
open func append(_ arg0: CharSequence?, _ arg1: Int32, _ arg2: Int32) throws -> Writer!
12+
13+
@JavaMethod
14+
open func append(_ arg0: CharSequence?) throws -> Writer!
15+
16+
@JavaMethod
17+
open func append(_ arg0: CharSequence?) throws -> Appendable!
18+
19+
@JavaMethod
20+
open func append(_ arg0: UInt16) throws -> Appendable!
21+
22+
@JavaMethod
23+
open func append(_ arg0: CharSequence?, _ arg1: Int32, _ arg2: Int32) throws -> Appendable!
24+
25+
@JavaMethod
26+
open func flush() throws
27+
28+
@JavaMethod
29+
open func write(_ arg0: Int32) throws
30+
31+
@JavaMethod
32+
open func write(_ arg0: [UInt16], _ arg1: Int32, _ arg2: Int32) throws
33+
34+
@JavaMethod
35+
open func write(_ arg0: String) throws
36+
37+
@JavaMethod
38+
open func write(_ arg0: String, _ arg1: Int32, _ arg2: Int32) throws
39+
40+
@JavaMethod
41+
open func write(_ arg0: [UInt16]) throws
42+
43+
@JavaMethod
44+
open func close() throws
45+
}
46+
extension JavaClass<Writer> {
47+
@JavaStaticMethod
48+
public func nullWriter() -> Writer!
49+
}

‎Sources/JavaKitIO/swift-java.config

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"classes" : {
3+
"java.io.FileReader" : "FileReader",
4+
"java.io.StringReader" : "StringReader",
5+
"java.io.InputStreamReader" : "InputStreamReader",
6+
"java.io.BufferedInputStream" : "BufferedInputStream",
7+
"java.io.InputStream" : "InputStream",
8+
"java.io.OutputStream" : "OutputStream",
9+
"java.io.Reader" : "Reader",
10+
"java.lang.Readable" : "Readable",
11+
"java.io.Writer" : "Writer",
12+
"java.io.File" : "File",
13+
"java.nio.file.Path" : "Path",
14+
"java.io.FileDescriptor" : "FileDescriptor",
15+
"java.nio.charset.Charset" : "Charset",
16+
"java.io.Closeable" : "Closeable",
17+
"java.io.Flushable" : "Flushable",
18+
"java.io.Flushable" : "ByteBuffer",
19+
"java.nio.file.WatchService" : "WatchService",
20+
}
21+
}

‎Tests/JavaKitTests/BasicRuntimeTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class BasicRuntimeTests: XCTestCase {
5656
do {
5757
_ = try URL("bad url", environment: environment)
5858
} catch {
59-
XCTAssert(String(describing: error) == "no protocol: bad url")
59+
XCTAssertEqual(String(describing: error), "java.net.MalformedURLException: no protocol: bad url")
6060
}
6161
}
6262

@@ -73,7 +73,7 @@ class BasicRuntimeTests: XCTestCase {
7373
do {
7474
_ = try JavaClass<Nonexistent>(environment: environment)
7575
} catch {
76-
XCTAssertEqual(String(describing: error), "org/swift/javakit/Nonexistent")
76+
XCTAssertEqual(String(describing: error), "java.lang.NoClassDefFoundError: org/swift/javakit/Nonexistent")
7777
}
7878
}
7979

0 commit comments

Comments
 (0)
Please sign in to comment.