From 8738932146a4f9d561a1c378416a1a8c3b293275 Mon Sep 17 00:00:00 2001 From: Iceman Date: Mon, 16 Mar 2026 11:13:30 +0900 Subject: [PATCH 1/2] Organized java.net.URL related target relationships --- ...ensions.swift => JavaURL+Extensions.swift} | 19 +- .../JavaNet/URLClassLoader+Workaround.swift | 22 - .../JavaStdlib/JavaNet/generated/URI.swift | 206 ++++++- .../JavaStdlib/JavaNet/generated/URL.swift | 83 --- .../JavaNet/generated/URLClassLoader.swift | 84 ++- .../JavaNet/generated/URLConnection.swift | 551 +++++++++++++----- Sources/JavaStdlib/JavaNet/swift-java.config | 4 +- .../JavaUtil/generated/Enumeration.swift | 15 - Sources/JavaStdlib/JavaUtil/swift-java.config | 1 - .../Enumeration+Sequence.swift} | 0 Sources/SwiftJava/generated/Enumeration.swift | 32 + .../SwiftJava/generated/JavaClassLoader.swift | 220 ++++++- Sources/SwiftJava/generated/JavaURL.swift | 183 ++++++ Sources/SwiftJava/swift-java.config | 5 +- Tests/SwiftJavaTests/BasicRuntimeTests.swift | 8 +- .../CompileJavaWrapTools.swift | 6 +- 16 files changed, 1120 insertions(+), 319 deletions(-) rename Sources/JavaStdlib/JavaNet/{URL+Extensions.swift => JavaURL+Extensions.swift} (56%) delete mode 100644 Sources/JavaStdlib/JavaNet/URLClassLoader+Workaround.swift delete mode 100644 Sources/JavaStdlib/JavaNet/generated/URL.swift delete mode 100644 Sources/JavaStdlib/JavaUtil/generated/Enumeration.swift rename Sources/{JavaStdlib/JavaUtil/JavaEnumeration+Sequence.swift => SwiftJava/JavaExtensions/Enumeration+Sequence.swift} (100%) create mode 100644 Sources/SwiftJava/generated/Enumeration.swift create mode 100644 Sources/SwiftJava/generated/JavaURL.swift diff --git a/Sources/JavaStdlib/JavaNet/URL+Extensions.swift b/Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift similarity index 56% rename from Sources/JavaStdlib/JavaNet/URL+Extensions.swift rename to Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift index 264ce4d5a..228ccb9e9 100644 --- a/Sources/JavaStdlib/JavaNet/URL+Extensions.swift +++ b/Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift @@ -16,19 +16,22 @@ import Foundation import SwiftJava import SwiftJavaJNICore -public typealias SwiftJavaFoundationURL = Foundation.URL +extension JavaURL { + @JavaMethod + public func toURI() throws -> URI! +} -extension SwiftJavaFoundationURL { - public static func fromJava(_ url: URL) throws -> SwiftJavaFoundationURL { - guard let converted = SwiftJavaFoundationURL(string: try url.toURI().toString()) else { - throw SwiftJavaConversionError("Failed to convert \(URL.self) to \(SwiftJavaFoundationURL.self)") +extension URL { + public static func fromJava(_ url: JavaURL) throws -> URL { + guard let converted = URL(string: try url.toURI().toString()) else { + throw SwiftJavaConversionError("Failed to convert \(JavaURL.self) to \(URL.self)") } return converted } } -extension URL { - public static func fromSwift(_ url: SwiftJavaFoundationURL) throws -> URL { - try URL(url.absoluteString) +extension JavaURL { + public static func fromSwift(_ url: URL) throws -> JavaURL { + try JavaURL(url.absoluteString) } } diff --git a/Sources/JavaStdlib/JavaNet/URLClassLoader+Workaround.swift b/Sources/JavaStdlib/JavaNet/URLClassLoader+Workaround.swift deleted file mode 100644 index b7829aeb4..000000000 --- a/Sources/JavaStdlib/JavaNet/URLClassLoader+Workaround.swift +++ /dev/null @@ -1,22 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// This source file is part of the Swift.org open source project -// -// Copyright (c) 2024 Apple Inc. and the Swift.org project authors -// Licensed under Apache License v2.0 -// -// See LICENSE.txt for license information -// See CONTRIBUTORS.txt for the list of Swift.org project authors -// -// SPDX-License-Identifier: Apache-2.0 -// -//===----------------------------------------------------------------------===// - -import SwiftJava -import SwiftJavaJNICore - -// FIXME: workaround until importing properly would make UCL inherit from CL https://github.com/swiftlang/swift-java/issues/423 -extension URLClassLoader /* workaround for missing inherits from ClassLoader */ { - @JavaMethod - public func loadClass(_ name: String) throws -> JavaClass? -} diff --git a/Sources/JavaStdlib/JavaNet/generated/URI.swift b/Sources/JavaStdlib/JavaNet/generated/URI.swift index b651890fc..0259021bf 100644 --- a/Sources/JavaStdlib/JavaNet/generated/URI.swift +++ b/Sources/JavaStdlib/JavaNet/generated/URI.swift @@ -5,31 +5,13 @@ import SwiftJavaJNICore @JavaClass("java.net.URI") open class URI: JavaObject { @JavaMethod - @_nonoverride public convenience init( - _ arg0: String, - _ arg1: String, - _ arg2: String, - _ arg3: String, - _ arg4: String, - environment: JNIEnvironment? = nil - ) throws + @_nonoverride public convenience init(_ arg0: String, _ arg1: String, _ arg2: String, _ arg3: String, _ arg4: String, environment: JNIEnvironment? = nil) throws @JavaMethod - @_nonoverride public convenience init( - _ arg0: String, - _ arg1: String, - _ arg2: String, - _ arg3: String, - environment: JNIEnvironment? = nil - ) throws + @_nonoverride public convenience init(_ arg0: String, _ arg1: String, _ arg2: String, _ arg3: String, environment: JNIEnvironment? = nil) throws @JavaMethod - @_nonoverride public convenience init( - _ arg0: String, - _ arg1: String, - _ arg2: String, - environment: JNIEnvironment? = nil - ) throws + @_nonoverride public convenience init(_ arg0: String, _ arg1: String, _ arg2: String, environment: JNIEnvironment? = nil) throws @JavaMethod @_nonoverride public convenience init(_ arg0: String, environment: JNIEnvironment? = nil) throws @@ -46,94 +28,274 @@ open class URI: JavaObject { environment: JNIEnvironment? = nil ) throws + /// Java method `equals`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URI.equals(java.lang.Object) + /// ``` @JavaMethod open override func equals(_ arg0: JavaObject?) -> Bool + /// Java method `toString`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.toString() + /// ``` @JavaMethod open override func toString() -> String + /// Java method `hashCode`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URI.hashCode() + /// ``` @JavaMethod open override func hashCode() -> Int32 + /// Java method `compareTo`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URI.compareTo(java.lang.Object) + /// ``` @JavaMethod open func compareTo(_ arg0: JavaObject?) -> Int32 + /// Java method `compareTo`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URI.compareTo(java.net.URI) + /// ``` @JavaMethod open func compareTo(_ arg0: URI?) -> Int32 + /// Java method `isAbsolute`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URI.isAbsolute() + /// ``` @JavaMethod open func isAbsolute() -> Bool + /// Java method `resolve`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URI java.net.URI.resolve(java.lang.String) + /// ``` @JavaMethod open func resolve(_ arg0: String) -> URI! + /// Java method `resolve`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URI java.net.URI.resolve(java.net.URI) + /// ``` @JavaMethod open func resolve(_ arg0: URI?) -> URI! + /// Java method `getScheme`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getScheme() + /// ``` @JavaMethod open func getScheme() -> String + /// Java method `isOpaque`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URI.isOpaque() + /// ``` @JavaMethod open func isOpaque() -> Bool + /// Java method `getRawAuthority`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getRawAuthority() + /// ``` @JavaMethod open func getRawAuthority() -> String + /// Java method `getRawFragment`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getRawFragment() + /// ``` @JavaMethod open func getRawFragment() -> String + /// Java method `getRawQuery`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getRawQuery() + /// ``` @JavaMethod open func getRawQuery() -> String + /// Java method `getRawPath`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getRawPath() + /// ``` @JavaMethod open func getRawPath() -> String + /// Java method `getHost`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getHost() + /// ``` @JavaMethod open func getHost() -> String + /// Java method `getPort`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URI.getPort() + /// ``` @JavaMethod open func getPort() -> Int32 + /// Java method `getAuthority`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getAuthority() + /// ``` @JavaMethod open func getAuthority() -> String + /// Java method `getQuery`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getQuery() + /// ``` @JavaMethod open func getQuery() -> String + /// Java method `getPath`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getPath() + /// ``` @JavaMethod open func getPath() -> String + /// Java method `getUserInfo`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getUserInfo() + /// ``` @JavaMethod open func getUserInfo() -> String + /// Java method `toURL`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URL java.net.URI.toURL() throws java.net.MalformedURLException + /// ``` @JavaMethod - open func toURL() throws -> URL! + open func toURL() throws -> JavaURL! + /// Java method `normalize`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URI java.net.URI.normalize() + /// ``` @JavaMethod open func normalize() -> URI! + /// Java method `relativize`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URI java.net.URI.relativize(java.net.URI) + /// ``` @JavaMethod open func relativize(_ arg0: URI?) -> URI! + /// Java method `getRawSchemeSpecificPart`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getRawSchemeSpecificPart() + /// ``` @JavaMethod open func getRawSchemeSpecificPart() -> String + /// Java method `parseServerAuthority`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URI java.net.URI.parseServerAuthority() throws java.net.URISyntaxException + /// ``` @JavaMethod open func parseServerAuthority() throws -> URI! + /// Java method `getSchemeSpecificPart`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getSchemeSpecificPart() + /// ``` @JavaMethod open func getSchemeSpecificPart() -> String + /// Java method `getRawUserInfo`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getRawUserInfo() + /// ``` @JavaMethod open func getRawUserInfo() -> String + /// Java method `getFragment`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.getFragment() + /// ``` @JavaMethod open func getFragment() -> String + /// Java method `toASCIIString`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URI.toASCIIString() + /// ``` @JavaMethod open func toASCIIString() -> String } extension JavaClass { + /// Java method `create`. + /// + /// ### Java method signature + /// ```java + /// public static java.net.URI java.net.URI.create(java.lang.String) + /// ``` @JavaStaticMethod public func create(_ arg0: String) -> URI! } diff --git a/Sources/JavaStdlib/JavaNet/generated/URL.swift b/Sources/JavaStdlib/JavaNet/generated/URL.swift deleted file mode 100644 index de08cdde2..000000000 --- a/Sources/JavaStdlib/JavaNet/generated/URL.swift +++ /dev/null @@ -1,83 +0,0 @@ -// Auto-generated by Java-to-Swift wrapper generator. -import SwiftJava -import SwiftJavaJNICore - -@JavaClass("java.net.URL") -open class URL: JavaObject { - @JavaMethod - @_nonoverride public convenience init(_ arg0: URL?, _ arg1: String, environment: JNIEnvironment? = nil) throws - - @JavaMethod - @_nonoverride public convenience init(_ arg0: String, environment: JNIEnvironment? = nil) throws - - @JavaMethod - @_nonoverride public convenience init( - _ arg0: String, - _ arg1: String, - _ arg2: Int32, - _ arg3: String, - environment: JNIEnvironment? = nil - ) throws - - @JavaMethod - @_nonoverride public convenience init( - _ arg0: String, - _ arg1: String, - _ arg2: String, - environment: JNIEnvironment? = nil - ) throws - - @JavaMethod - open override func equals(_ arg0: JavaObject?) -> Bool - - @JavaMethod - open override func toString() -> String - - @JavaMethod - open override func hashCode() -> Int32 - - @JavaMethod - open func getHost() -> String - - @JavaMethod - open func getPort() -> Int32 - - @JavaMethod - open func getDefaultPort() -> Int32 - - @JavaMethod - open func sameFile(_ arg0: URL?) -> Bool - - @JavaMethod - open func toExternalForm() -> String - - @JavaMethod - open func getContent() throws -> JavaObject! - - @JavaMethod - open func getContent(_ arg0: [JavaClass?]) throws -> JavaObject! - - @JavaMethod - open func getProtocol() -> String - - @JavaMethod - open func getAuthority() -> String - - @JavaMethod - open func getFile() -> String - - @JavaMethod - open func getRef() -> String - - @JavaMethod - open func getQuery() -> String - - @JavaMethod - open func getPath() -> String - - @JavaMethod - open func getUserInfo() -> String - - @JavaMethod - open func toURI() throws -> URI! -} diff --git a/Sources/JavaStdlib/JavaNet/generated/URLClassLoader.swift b/Sources/JavaStdlib/JavaNet/generated/URLClassLoader.swift index e80f60dae..6db0b5eb2 100644 --- a/Sources/JavaStdlib/JavaNet/generated/URLClassLoader.swift +++ b/Sources/JavaStdlib/JavaNet/generated/URLClassLoader.swift @@ -1,35 +1,97 @@ // Auto-generated by Java-to-Swift wrapper generator. -import JavaUtil import SwiftJava import SwiftJavaJNICore -@JavaClass("java.net.URLClassLoader") -open class URLClassLoader: JavaObject { +@JavaClass("java.net.URLClassLoader", implements: Closeable.self) +open class URLClassLoader: JavaClassLoader { @JavaMethod - @_nonoverride public convenience init(_ arg0: [URL?], environment: JNIEnvironment? = nil) + @_nonoverride public convenience init(_ arg0: String, _ arg1: [JavaURL?], _ arg2: JavaClassLoader?, environment: JNIEnvironment? = nil) @JavaMethod - open func findResource(_ arg0: String) -> URL! + @_nonoverride public convenience init(_ arg0: [JavaURL?], environment: JNIEnvironment? = nil) @JavaMethod - open func findClass(_ arg0: String) throws -> JavaClass! + @_nonoverride public convenience init(_ arg0: [JavaURL?], _ arg1: JavaClassLoader?, environment: JNIEnvironment? = nil) + /// Java method `findResource`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URL java.net.URLClassLoader.findResource(java.lang.String) + /// ``` @JavaMethod - open func findResources(_ arg0: String) throws -> Enumeration! + open override func findResource(_ arg0: String) -> JavaURL! + /// Java method `getResourceAsStream`. + /// + /// ### Java method signature + /// ```java + /// public java.io.InputStream java.net.URLClassLoader.getResourceAsStream(java.lang.String) + /// ``` + @JavaMethod + open override func getResourceAsStream(_ arg0: String) -> InputStream! + + /// Java method `findClass`. + /// + /// ### Java method signature + /// ```java + /// protected java.lang.Class java.net.URLClassLoader.findClass(java.lang.String) throws java.lang.ClassNotFoundException + /// ``` + @JavaMethod + open override func findClass(_ arg0: String) throws -> JavaClass! + + /// Java method `findResources`. + /// + /// ### Java method signature + /// ```java + /// public java.util.Enumeration java.net.URLClassLoader.findResources(java.lang.String) throws java.io.IOException + /// ``` + @JavaMethod + open override func findResources(_ arg0: String) throws -> Enumeration! + + /// Java method `close`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLClassLoader.close() throws java.io.IOException + /// ``` @JavaMethod open func close() throws + /// Java method `addURL`. + /// + /// ### Java method signature + /// ```java + /// protected void java.net.URLClassLoader.addURL(java.net.URL) + /// ``` @JavaMethod - open func addURL(_ arg0: URL?) + open func addURL(_ arg0: JavaURL?) + /// Java method `getURLs`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URL[] java.net.URLClassLoader.getURLs() + /// ``` @JavaMethod - open func getURLs() -> [URL?] + open func getURLs() -> [JavaURL?] } extension JavaClass { + /// Java method `newInstance`. + /// + /// ### Java method signature + /// ```java + /// public static java.net.URLClassLoader java.net.URLClassLoader.newInstance(java.net.URL[],java.lang.ClassLoader) + /// ``` @JavaStaticMethod - public func newInstance(_ arg0: [URL?], _ arg1: JavaClassLoader?) -> URLClassLoader! + public func newInstance(_ arg0: [JavaURL?], _ arg1: JavaClassLoader?) -> URLClassLoader! + /// Java method `newInstance`. + /// + /// ### Java method signature + /// ```java + /// public static java.net.URLClassLoader java.net.URLClassLoader.newInstance(java.net.URL[]) + /// ``` @JavaStaticMethod - public func newInstance(_ arg0: [URL?]) -> URLClassLoader! + public func newInstance(_ arg0: [JavaURL?]) -> URLClassLoader! } diff --git a/Sources/JavaStdlib/JavaNet/generated/URLConnection.swift b/Sources/JavaStdlib/JavaNet/generated/URLConnection.swift index 0ff4283ad..4d9668b56 100644 --- a/Sources/JavaStdlib/JavaNet/generated/URLConnection.swift +++ b/Sources/JavaStdlib/JavaNet/generated/URLConnection.swift @@ -3,161 +3,430 @@ import SwiftJava import SwiftJavaJNICore @JavaClass("java.net.URLConnection") -public struct URLConnection { - @JavaMethod - public func getDefaultUseCaches() -> Bool - - @JavaMethod - public func getContentLengthLong() -> Int64 - - @JavaMethod - public func getHeaderFieldLong(_ arg0: String, _ arg1: Int64) -> Int64 - - @JavaMethod - public func getHeaderField(_ arg0: Int32) -> String - - @JavaMethod - public func getHeaderField(_ arg0: String) -> String - - @JavaMethod - public func getHeaderFieldDate(_ arg0: String, _ arg1: Int64) -> Int64 - - @JavaMethod - public func getContentType() -> String - - @JavaMethod - public func setConnectTimeout(_ arg0: Int32) - - @JavaMethod - public func getConnectTimeout() -> Int32 - - @JavaMethod - public func setReadTimeout(_ arg0: Int32) - - @JavaMethod - public func getReadTimeout() -> Int32 - - @JavaMethod - public func getContentEncoding() -> String - - @JavaMethod - public func getExpiration() -> Int64 - - @JavaMethod - public func getHeaderFieldInt(_ arg0: String, _ arg1: Int32) -> Int32 - - @JavaMethod - public func getHeaderFieldKey(_ arg0: Int32) -> String - - @JavaMethod - public func setDoInput(_ arg0: Bool) - - @JavaMethod - public func getDoInput() -> Bool - - @JavaMethod - public func setDoOutput(_ arg0: Bool) - - @JavaMethod - public func getDoOutput() -> Bool - - @JavaMethod - public func setAllowUserInteraction(_ arg0: Bool) - - @JavaMethod - public func getAllowUserInteraction() -> Bool - - @JavaMethod - public func getUseCaches() -> Bool - - @JavaMethod - public func setIfModifiedSince(_ arg0: Int64) - - @JavaMethod - public func getIfModifiedSince() -> Int64 - - @JavaMethod - public func setDefaultUseCaches(_ arg0: Bool) - - @JavaMethod - public func addRequestProperty(_ arg0: String, _ arg1: String) - - @JavaMethod - public func getRequestProperty(_ arg0: String) -> String - - @JavaMethod - public func toString() -> String - - @JavaMethod - public func connect() - - @JavaMethod - public func getContent() -> JavaObject? - - @JavaMethod - public func getContent(_ arg0: [JavaClass?]) -> JavaObject? - - @JavaMethod - public func getDate() -> Int64 - - @JavaMethod - public func setUseCaches(_ arg0: Bool) - - @JavaMethod - public func getLastModified() -> Int64 - - @JavaMethod - public func getContentLength() -> Int32 - - @JavaMethod - public func getURL() -> URL? - - @JavaMethod - public func setRequestProperty(_ arg0: String, _ arg1: String) - - @JavaMethod - public func equals(_ arg0: JavaObject?) -> Bool - - @JavaMethod - public func hashCode() -> Int32 - - @JavaMethod - public func getClass() -> JavaClass? - - @JavaMethod - public func notify() - - @JavaMethod - public func notifyAll() - - @JavaMethod - public func wait(_ arg0: Int64) - - @JavaMethod - public func wait(_ arg0: Int64, _ arg1: Int32) - - @JavaMethod - public func wait() +open class URLConnection: JavaObject { + /// Java method `getDefaultUseCaches`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URLConnection.getDefaultUseCaches() + /// ``` + @JavaMethod + open func getDefaultUseCaches() -> Bool + + /// Java method `getContentLengthLong`. + /// + /// ### Java method signature + /// ```java + /// public long java.net.URLConnection.getContentLengthLong() + /// ``` + @JavaMethod + open func getContentLengthLong() -> Int64 + + /// Java method `getHeaderFieldLong`. + /// + /// ### Java method signature + /// ```java + /// public long java.net.URLConnection.getHeaderFieldLong(java.lang.String,long) + /// ``` + @JavaMethod + open func getHeaderFieldLong(_ arg0: String, _ arg1: Int64) -> Int64 + + /// Java method `getHeaderField`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URLConnection.getHeaderField(java.lang.String) + /// ``` + @JavaMethod + open func getHeaderField(_ arg0: String) -> String + + /// Java method `getHeaderField`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URLConnection.getHeaderField(int) + /// ``` + @JavaMethod + open func getHeaderField(_ arg0: Int32) -> String + + /// Java method `getHeaderFieldDate`. + /// + /// ### Java method signature + /// ```java + /// public long java.net.URLConnection.getHeaderFieldDate(java.lang.String,long) + /// ``` + @JavaMethod + open func getHeaderFieldDate(_ arg0: String, _ arg1: Int64) -> Int64 + + /// Java method `getContentType`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URLConnection.getContentType() + /// ``` + @JavaMethod + open func getContentType() -> String + + /// Java method `setConnectTimeout`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setConnectTimeout(int) + /// ``` + @JavaMethod + open func setConnectTimeout(_ arg0: Int32) + + /// Java method `getConnectTimeout`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URLConnection.getConnectTimeout() + /// ``` + @JavaMethod + open func getConnectTimeout() -> Int32 + + /// Java method `setReadTimeout`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setReadTimeout(int) + /// ``` + @JavaMethod + open func setReadTimeout(_ arg0: Int32) + + /// Java method `getReadTimeout`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URLConnection.getReadTimeout() + /// ``` + @JavaMethod + open func getReadTimeout() -> Int32 + + /// Java method `getContentEncoding`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URLConnection.getContentEncoding() + /// ``` + @JavaMethod + open func getContentEncoding() -> String + + /// Java method `getExpiration`. + /// + /// ### Java method signature + /// ```java + /// public long java.net.URLConnection.getExpiration() + /// ``` + @JavaMethod + open func getExpiration() -> Int64 + + /// Java method `getHeaderFieldInt`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URLConnection.getHeaderFieldInt(java.lang.String,int) + /// ``` + @JavaMethod + open func getHeaderFieldInt(_ arg0: String, _ arg1: Int32) -> Int32 + + /// Java method `getHeaderFieldKey`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URLConnection.getHeaderFieldKey(int) + /// ``` + @JavaMethod + open func getHeaderFieldKey(_ arg0: Int32) -> String + + /// Java method `getOutputStream`. + /// + /// ### Java method signature + /// ```java + /// public java.io.OutputStream java.net.URLConnection.getOutputStream() throws java.io.IOException + /// ``` + @JavaMethod + open func getOutputStream() throws -> OutputStream! + + /// Java method `setDoInput`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setDoInput(boolean) + /// ``` + @JavaMethod + open func setDoInput(_ arg0: Bool) + + /// Java method `getDoInput`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URLConnection.getDoInput() + /// ``` + @JavaMethod + open func getDoInput() -> Bool + + /// Java method `setDoOutput`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setDoOutput(boolean) + /// ``` + @JavaMethod + open func setDoOutput(_ arg0: Bool) + + /// Java method `getDoOutput`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URLConnection.getDoOutput() + /// ``` + @JavaMethod + open func getDoOutput() -> Bool + + /// Java method `setAllowUserInteraction`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setAllowUserInteraction(boolean) + /// ``` + @JavaMethod + open func setAllowUserInteraction(_ arg0: Bool) + + /// Java method `getAllowUserInteraction`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URLConnection.getAllowUserInteraction() + /// ``` + @JavaMethod + open func getAllowUserInteraction() -> Bool + + /// Java method `getUseCaches`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URLConnection.getUseCaches() + /// ``` + @JavaMethod + open func getUseCaches() -> Bool + + /// Java method `setIfModifiedSince`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setIfModifiedSince(long) + /// ``` + @JavaMethod + open func setIfModifiedSince(_ arg0: Int64) + + /// Java method `getIfModifiedSince`. + /// + /// ### Java method signature + /// ```java + /// public long java.net.URLConnection.getIfModifiedSince() + /// ``` + @JavaMethod + open func getIfModifiedSince() -> Int64 + + /// Java method `setDefaultUseCaches`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setDefaultUseCaches(boolean) + /// ``` + @JavaMethod + open func setDefaultUseCaches(_ arg0: Bool) + + /// Java method `addRequestProperty`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.addRequestProperty(java.lang.String,java.lang.String) + /// ``` + @JavaMethod + open func addRequestProperty(_ arg0: String, _ arg1: String) + + /// Java method `getRequestProperty`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URLConnection.getRequestProperty(java.lang.String) + /// ``` + @JavaMethod + open func getRequestProperty(_ arg0: String) -> String + + /// Java method `toString`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URLConnection.toString() + /// ``` + @JavaMethod + open override func toString() -> String + + /// Java method `getInputStream`. + /// + /// ### Java method signature + /// ```java + /// public java.io.InputStream java.net.URLConnection.getInputStream() throws java.io.IOException + /// ``` + @JavaMethod + open func getInputStream() throws -> InputStream! + + /// Java method `getContent`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.Object java.net.URLConnection.getContent(java.lang.Class[]) throws java.io.IOException + /// ``` + @JavaMethod + open func getContent(_ arg0: [JavaClass?]) throws -> JavaObject! + + /// Java method `getContent`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.Object java.net.URLConnection.getContent() throws java.io.IOException + /// ``` + @JavaMethod + open func getContent() throws -> JavaObject! + + /// Java method `connect`. + /// + /// ### Java method signature + /// ```java + /// public abstract void java.net.URLConnection.connect() throws java.io.IOException + /// ``` + @JavaMethod + open func connect() throws + + /// Java method `getDate`. + /// + /// ### Java method signature + /// ```java + /// public long java.net.URLConnection.getDate() + /// ``` + @JavaMethod + open func getDate() -> Int64 + + /// Java method `setUseCaches`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setUseCaches(boolean) + /// ``` + @JavaMethod + open func setUseCaches(_ arg0: Bool) + + /// Java method `getLastModified`. + /// + /// ### Java method signature + /// ```java + /// public long java.net.URLConnection.getLastModified() + /// ``` + @JavaMethod + open func getLastModified() -> Int64 + + /// Java method `getContentLength`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URLConnection.getContentLength() + /// ``` + @JavaMethod + open func getContentLength() -> Int32 + + /// Java method `getURL`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URL java.net.URLConnection.getURL() + /// ``` + @JavaMethod + open func getURL() -> JavaURL! + + /// Java method `setRequestProperty`. + /// + /// ### Java method signature + /// ```java + /// public void java.net.URLConnection.setRequestProperty(java.lang.String,java.lang.String) + /// ``` + @JavaMethod + open func setRequestProperty(_ arg0: String, _ arg1: String) } extension JavaClass { - @JavaMethod + /// Java method `getDefaultUseCaches`. + /// + /// ### Java method signature + /// ```java + /// public static boolean java.net.URLConnection.getDefaultUseCaches(java.lang.String) + /// ``` + @JavaStaticMethod public func getDefaultUseCaches(_ arg0: String) -> Bool - @JavaMethod + /// Java method `setDefaultAllowUserInteraction`. + /// + /// ### Java method signature + /// ```java + /// public static void java.net.URLConnection.setDefaultAllowUserInteraction(boolean) + /// ``` + @JavaStaticMethod public func setDefaultAllowUserInteraction(_ arg0: Bool) + /// Java method `getDefaultAllowUserInteraction`. + /// + /// ### Java method signature + /// ```java + /// public static boolean java.net.URLConnection.getDefaultAllowUserInteraction() + /// ``` @JavaStaticMethod public func getDefaultAllowUserInteraction() -> Bool - @JavaMethod + /// Java method `setDefaultUseCaches`. + /// + /// ### Java method signature + /// ```java + /// public static void java.net.URLConnection.setDefaultUseCaches(java.lang.String,boolean) + /// ``` + @JavaStaticMethod public func setDefaultUseCaches(_ arg0: String, _ arg1: Bool) - @JavaMethod + /// Java method `setDefaultRequestProperty`. + /// + /// ### Java method signature + /// ```java + /// public static void java.net.URLConnection.setDefaultRequestProperty(java.lang.String,java.lang.String) + /// ``` + @available(*, deprecated) + @JavaStaticMethod public func setDefaultRequestProperty(_ arg0: String, _ arg1: String) - @JavaMethod + /// Java method `getDefaultRequestProperty`. + /// + /// ### Java method signature + /// ```java + /// public static java.lang.String java.net.URLConnection.getDefaultRequestProperty(java.lang.String) + /// ``` + @available(*, deprecated) + @JavaStaticMethod public func getDefaultRequestProperty(_ arg0: String) -> String - @JavaMethod + /// Java method `guessContentTypeFromName`. + /// + /// ### Java method signature + /// ```java + /// public static java.lang.String java.net.URLConnection.guessContentTypeFromName(java.lang.String) + /// ``` + @JavaStaticMethod public func guessContentTypeFromName(_ arg0: String) -> String + + /// Java method `guessContentTypeFromStream`. + /// + /// ### Java method signature + /// ```java + /// public static java.lang.String java.net.URLConnection.guessContentTypeFromStream(java.io.InputStream) throws java.io.IOException + /// ``` + @JavaStaticMethod + public func guessContentTypeFromStream(_ arg0: InputStream?) throws -> String } diff --git a/Sources/JavaStdlib/JavaNet/swift-java.config b/Sources/JavaStdlib/JavaNet/swift-java.config index f44e24407..40fff1201 100644 --- a/Sources/JavaStdlib/JavaNet/swift-java.config +++ b/Sources/JavaStdlib/JavaNet/swift-java.config @@ -1,7 +1,7 @@ { "classes" : { "java.net.URI" : "URI", - "java.net.URL" : "URL", - "java.net.URLClassLoader" : "URLClassLoader" + "java.net.URLClassLoader" : "URLClassLoader", + "java.net.URLConnection" : "URLConnection", } } diff --git a/Sources/JavaStdlib/JavaUtil/generated/Enumeration.swift b/Sources/JavaStdlib/JavaUtil/generated/Enumeration.swift deleted file mode 100644 index 4d19b0475..000000000 --- a/Sources/JavaStdlib/JavaUtil/generated/Enumeration.swift +++ /dev/null @@ -1,15 +0,0 @@ -// Auto-generated by Java-to-Swift wrapper generator. -import SwiftJava -import SwiftJavaJNICore - -@JavaInterface("java.util.Enumeration") -public struct Enumeration { - @JavaMethod - public func asIterator() -> JavaIterator! - - @JavaMethod - public func hasMoreElements() -> Bool - - @JavaMethod - public func nextElement() -> JavaObject! -} diff --git a/Sources/JavaStdlib/JavaUtil/swift-java.config b/Sources/JavaStdlib/JavaUtil/swift-java.config index 5a414200c..2a2437663 100644 --- a/Sources/JavaStdlib/JavaUtil/swift-java.config +++ b/Sources/JavaStdlib/JavaUtil/swift-java.config @@ -1,6 +1,5 @@ { "classes" : { - "java.util.Enumeration" : "Enumeration", "java.util.Queue" : "Queue", "java.util.RandomAccess" : "RandomAccess", "java.util.ArrayDeque" : "ArrayDeque", diff --git a/Sources/JavaStdlib/JavaUtil/JavaEnumeration+Sequence.swift b/Sources/SwiftJava/JavaExtensions/Enumeration+Sequence.swift similarity index 100% rename from Sources/JavaStdlib/JavaUtil/JavaEnumeration+Sequence.swift rename to Sources/SwiftJava/JavaExtensions/Enumeration+Sequence.swift diff --git a/Sources/SwiftJava/generated/Enumeration.swift b/Sources/SwiftJava/generated/Enumeration.swift new file mode 100644 index 000000000..6df84cefd --- /dev/null +++ b/Sources/SwiftJava/generated/Enumeration.swift @@ -0,0 +1,32 @@ +// Auto-generated by Java-to-Swift wrapper generator. +import SwiftJavaJNICore + +@JavaInterface("java.util.Enumeration") +public struct Enumeration { + /// Java method `asIterator`. + /// + /// ### Java method signature + /// ```java + /// public default java.util.Iterator java.util.Enumeration.asIterator() + /// ``` + @JavaMethod + public func asIterator() -> JavaIterator! + + /// Java method `hasMoreElements`. + /// + /// ### Java method signature + /// ```java + /// public abstract boolean java.util.Enumeration.hasMoreElements() + /// ``` + @JavaMethod + public func hasMoreElements() -> Bool + + /// Java method `nextElement`. + /// + /// ### Java method signature + /// ```java + /// public abstract E java.util.Enumeration.nextElement() + /// ``` + @JavaMethod(typeErasedResult: "E!") + public func nextElement() -> E! +} diff --git a/Sources/SwiftJava/generated/JavaClassLoader.swift b/Sources/SwiftJava/generated/JavaClassLoader.swift index b0eaea188..b8bfb7fbe 100644 --- a/Sources/SwiftJava/generated/JavaClassLoader.swift +++ b/Sources/SwiftJava/generated/JavaClassLoader.swift @@ -3,76 +3,284 @@ import SwiftJavaJNICore @JavaClass("java.lang.ClassLoader") open class JavaClassLoader: JavaObject { + /// Java method `getName`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.lang.ClassLoader.getName() + /// ``` @JavaMethod open func getName() -> String + /// Java method `loadClass`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) throws java.lang.ClassNotFoundException + /// ``` @JavaMethod open func loadClass(_ arg0: String) throws -> JavaClass! + /// Java method `loadClass`. + /// + /// ### Java method signature + /// ```java + /// protected java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String,boolean) throws java.lang.ClassNotFoundException + /// ``` @JavaMethod open func loadClass(_ arg0: String, _ arg1: Bool) throws -> JavaClass! + /// Java method `findResource`. + /// + /// ### Java method signature + /// ```java + /// protected java.net.URL java.lang.ClassLoader.findResource(java.lang.String,java.lang.String) throws java.io.IOException + /// ``` + @JavaMethod + open func findResource(_ arg0: String, _ arg1: String) throws -> JavaURL! + + /// Java method `findResource`. + /// + /// ### Java method signature + /// ```java + /// protected java.net.URL java.lang.ClassLoader.findResource(java.lang.String) + /// ``` + @JavaMethod + open func findResource(_ arg0: String) -> JavaURL! + + /// Java method `getResourceAsStream`. + /// + /// ### Java method signature + /// ```java + /// public java.io.InputStream java.lang.ClassLoader.getResourceAsStream(java.lang.String) + /// ``` + @JavaMethod + open func getResourceAsStream(_ arg0: String) -> InputStream! + + /// Java method `getResource`. + /// + /// ### Java method signature + /// ```java + /// public java.net.URL java.lang.ClassLoader.getResource(java.lang.String) + /// ``` + @JavaMethod + open func getResource(_ arg0: String) -> JavaURL! + + /// Java method `setSigners`. + /// + /// ### Java method signature + /// ```java + /// protected final void java.lang.ClassLoader.setSigners(java.lang.Class,java.lang.Object[]) + /// ``` @JavaMethod open func setSigners(_ arg0: JavaClass?, _ arg1: [JavaObject?]) + /// Java method `getClassLoadingLock`. + /// + /// ### Java method signature + /// ```java + /// protected java.lang.Object java.lang.ClassLoader.getClassLoadingLock(java.lang.String) + /// ``` @JavaMethod open func getClassLoadingLock(_ arg0: String) -> JavaObject! + /// Java method `findLoadedClass`. + /// + /// ### Java method signature + /// ```java + /// protected final java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) + /// ``` @JavaMethod open func findLoadedClass(_ arg0: String) -> JavaClass! + /// Java method `findClass`. + /// + /// ### Java method signature + /// ```java + /// protected java.lang.Class java.lang.ClassLoader.findClass(java.lang.String,java.lang.String) + /// ``` @JavaMethod open func findClass(_ arg0: String, _ arg1: String) -> JavaClass! + /// Java method `findClass`. + /// + /// ### Java method signature + /// ```java + /// protected java.lang.Class java.lang.ClassLoader.findClass(java.lang.String) throws java.lang.ClassNotFoundException + /// ``` @JavaMethod open func findClass(_ arg0: String) throws -> JavaClass! + /// Java method `resolveClass`. + /// + /// ### Java method signature + /// ```java + /// protected final void java.lang.ClassLoader.resolveClass(java.lang.Class) + /// ``` @JavaMethod open func resolveClass(_ arg0: JavaClass?) + /// Java method `defineClass`. + /// + /// ### Java method signature + /// ```java + /// protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError + /// ``` @JavaMethod open func defineClass(_ arg0: String, _ arg1: [Int8], _ arg2: Int32, _ arg3: Int32) throws -> JavaClass! + /// Java method `defineClass`. + /// + /// ### Java method signature + /// ```java + /// protected final java.lang.Class java.lang.ClassLoader.defineClass(byte[],int,int) throws java.lang.ClassFormatError + /// ``` + @available(*, deprecated) @JavaMethod open func defineClass(_ arg0: [Int8], _ arg1: Int32, _ arg2: Int32) throws -> JavaClass! + /// Java method `getResources`. + /// + /// ### Java method signature + /// ```java + /// public java.util.Enumeration java.lang.ClassLoader.getResources(java.lang.String) throws java.io.IOException + /// ``` + @JavaMethod + open func getResources(_ arg0: String) throws -> Enumeration! + + /// Java method `findResources`. + /// + /// ### Java method signature + /// ```java + /// protected java.util.Enumeration java.lang.ClassLoader.findResources(java.lang.String) throws java.io.IOException + /// ``` + @JavaMethod + open func findResources(_ arg0: String) throws -> Enumeration! + + /// Java method `findLibrary`. + /// + /// ### Java method signature + /// ```java + /// protected java.lang.String java.lang.ClassLoader.findLibrary(java.lang.String) + /// ``` @JavaMethod open func findLibrary(_ arg0: String) -> String + /// Java method `findSystemClass`. + /// + /// ### Java method signature + /// ```java + /// protected final java.lang.Class java.lang.ClassLoader.findSystemClass(java.lang.String) throws java.lang.ClassNotFoundException + /// ``` @JavaMethod open func findSystemClass(_ arg0: String) throws -> JavaClass! + /// Java method `isRegisteredAsParallelCapable`. + /// + /// ### Java method signature + /// ```java + /// public final boolean java.lang.ClassLoader.isRegisteredAsParallelCapable() + /// ``` @JavaMethod open func isRegisteredAsParallelCapable() -> Bool + /// Java method `getParent`. + /// + /// ### Java method signature + /// ```java + /// public final java.lang.ClassLoader java.lang.ClassLoader.getParent() + /// ``` @JavaMethod open func getParent() -> JavaClassLoader! + /// Java method `setDefaultAssertionStatus`. + /// + /// ### Java method signature + /// ```java + /// public void java.lang.ClassLoader.setDefaultAssertionStatus(boolean) + /// ``` @JavaMethod open func setDefaultAssertionStatus(_ arg0: Bool) + /// Java method `setPackageAssertionStatus`. + /// + /// ### Java method signature + /// ```java + /// public void java.lang.ClassLoader.setPackageAssertionStatus(java.lang.String,boolean) + /// ``` @JavaMethod open func setPackageAssertionStatus(_ arg0: String, _ arg1: Bool) + /// Java method `setClassAssertionStatus`. + /// + /// ### Java method signature + /// ```java + /// public void java.lang.ClassLoader.setClassAssertionStatus(java.lang.String,boolean) + /// ``` @JavaMethod open func setClassAssertionStatus(_ arg0: String, _ arg1: Bool) + /// Java method `clearAssertionStatus`. + /// + /// ### Java method signature + /// ```java + /// public void java.lang.ClassLoader.clearAssertionStatus() + /// ``` @JavaMethod open func clearAssertionStatus() - - @JavaMethod - open func getResourceAsStream(_ arg0: String) -> InputStream! - - @JavaMethod - open func getResource(_ arg0: String) -> JavaObject! } extension JavaClass { + /// Java method `getPlatformClassLoader`. + /// + /// ### Java method signature + /// ```java + /// public static java.lang.ClassLoader java.lang.ClassLoader.getPlatformClassLoader() + /// ``` @JavaStaticMethod public func getPlatformClassLoader() -> JavaClassLoader! + /// Java method `getSystemClassLoader`. + /// + /// ### Java method signature + /// ```java + /// public static java.lang.ClassLoader java.lang.ClassLoader.getSystemClassLoader() + /// ``` @JavaStaticMethod public func getSystemClassLoader() -> JavaClassLoader! + /// Java method `getSystemResourceAsStream`. + /// + /// ### Java method signature + /// ```java + /// public static java.io.InputStream java.lang.ClassLoader.getSystemResourceAsStream(java.lang.String) + /// ``` + @JavaStaticMethod + public func getSystemResourceAsStream(_ arg0: String) -> InputStream! + + /// Java method `getSystemResource`. + /// + /// ### Java method signature + /// ```java + /// public static java.net.URL java.lang.ClassLoader.getSystemResource(java.lang.String) + /// ``` + @JavaStaticMethod + public func getSystemResource(_ arg0: String) -> JavaURL! + + /// Java method `registerAsParallelCapable`. + /// + /// ### Java method signature + /// ```java + /// protected static boolean java.lang.ClassLoader.registerAsParallelCapable() + /// ``` @JavaStaticMethod public func registerAsParallelCapable() -> Bool + + /// Java method `getSystemResources`. + /// + /// ### Java method signature + /// ```java + /// public static java.util.Enumeration java.lang.ClassLoader.getSystemResources(java.lang.String) throws java.io.IOException + /// ``` + @JavaStaticMethod + public func getSystemResources(_ arg0: String) throws -> Enumeration! } diff --git a/Sources/SwiftJava/generated/JavaURL.swift b/Sources/SwiftJava/generated/JavaURL.swift new file mode 100644 index 000000000..54b94aea7 --- /dev/null +++ b/Sources/SwiftJava/generated/JavaURL.swift @@ -0,0 +1,183 @@ +// Auto-generated by Java-to-Swift wrapper generator. +import SwiftJavaJNICore + +@JavaClass("java.net.URL") +open class JavaURL: JavaObject { + @available(*, deprecated) + @JavaMethod + @_nonoverride public convenience init(_ arg0: JavaURL?, _ arg1: String, environment: JNIEnvironment? = nil) throws + + @available(*, deprecated) + @JavaMethod + @_nonoverride public convenience init(_ arg0: String, environment: JNIEnvironment? = nil) throws + + @available(*, deprecated) + @JavaMethod + @_nonoverride public convenience init(_ arg0: String, _ arg1: String, _ arg2: Int32, _ arg3: String, environment: JNIEnvironment? = nil) throws + + @available(*, deprecated) + @JavaMethod + @_nonoverride public convenience init(_ arg0: String, _ arg1: String, _ arg2: String, environment: JNIEnvironment? = nil) throws + + /// Java method `equals`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URL.equals(java.lang.Object) + /// ``` + @JavaMethod + open override func equals(_ arg0: JavaObject?) -> Bool + + /// Java method `toString`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.toString() + /// ``` + @JavaMethod + open override func toString() -> String + + /// Java method `hashCode`. + /// + /// ### Java method signature + /// ```java + /// public synchronized int java.net.URL.hashCode() + /// ``` + @JavaMethod + open override func hashCode() -> Int32 + + /// Java method `openStream`. + /// + /// ### Java method signature + /// ```java + /// public final java.io.InputStream java.net.URL.openStream() throws java.io.IOException + /// ``` + @JavaMethod + open func openStream() throws -> InputStream! + + /// Java method `getHost`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getHost() + /// ``` + @JavaMethod + open func getHost() -> String + + /// Java method `getPort`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URL.getPort() + /// ``` + @JavaMethod + open func getPort() -> Int32 + + /// Java method `getDefaultPort`. + /// + /// ### Java method signature + /// ```java + /// public int java.net.URL.getDefaultPort() + /// ``` + @JavaMethod + open func getDefaultPort() -> Int32 + + /// Java method `sameFile`. + /// + /// ### Java method signature + /// ```java + /// public boolean java.net.URL.sameFile(java.net.URL) + /// ``` + @JavaMethod + open func sameFile(_ arg0: JavaURL?) -> Bool + + /// Java method `toExternalForm`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.toExternalForm() + /// ``` + @JavaMethod + open func toExternalForm() -> String + + /// Java method `getContent`. + /// + /// ### Java method signature + /// ```java + /// public final java.lang.Object java.net.URL.getContent(java.lang.Class[]) throws java.io.IOException + /// ``` + @JavaMethod + open func getContent(_ arg0: [JavaClass?]) throws -> JavaObject! + + /// Java method `getContent`. + /// + /// ### Java method signature + /// ```java + /// public final java.lang.Object java.net.URL.getContent() throws java.io.IOException + /// ``` + @JavaMethod + open func getContent() throws -> JavaObject! + + /// Java method `getProtocol`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getProtocol() + /// ``` + @JavaMethod + open func getProtocol() -> String + + /// Java method `getAuthority`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getAuthority() + /// ``` + @JavaMethod + open func getAuthority() -> String + + /// Java method `getFile`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getFile() + /// ``` + @JavaMethod + open func getFile() -> String + + /// Java method `getRef`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getRef() + /// ``` + @JavaMethod + open func getRef() -> String + + /// Java method `getQuery`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getQuery() + /// ``` + @JavaMethod + open func getQuery() -> String + + /// Java method `getPath`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getPath() + /// ``` + @JavaMethod + open func getPath() -> String + + /// Java method `getUserInfo`. + /// + /// ### Java method signature + /// ```java + /// public java.lang.String java.net.URL.getUserInfo() + /// ``` + @JavaMethod + open func getUserInfo() -> String +} diff --git a/Sources/SwiftJava/swift-java.config b/Sources/SwiftJava/swift-java.config index 925626eea..848b8b28a 100644 --- a/Sources/SwiftJava/swift-java.config +++ b/Sources/SwiftJava/swift-java.config @@ -30,6 +30,7 @@ // Basic subset of collections API "java.util.Collection": "JavaCollection", + "java.util.Enumeration": "Enumeration", "java.util.List" : "List", "java.util.Iterator": "JavaIterator", "java.util.ListIterator": "ListIterator", @@ -46,7 +47,9 @@ "java.io.Writer": "Writer", "java.io.PrintWriter": "PrintWriter", "java.io.StringWriter": "StringWriter", - "java.io.InputStream": "InputStream" + "java.io.InputStream": "InputStream", + // requirements for java.lang.ClassLoader + "java.net.URL": "JavaURL", } } diff --git a/Tests/SwiftJavaTests/BasicRuntimeTests.swift b/Tests/SwiftJavaTests/BasicRuntimeTests.swift index 1dace3983..3141a4c8a 100644 --- a/Tests/SwiftJavaTests/BasicRuntimeTests.swift +++ b/Tests/SwiftJavaTests/BasicRuntimeTests.swift @@ -47,10 +47,10 @@ class BasicRuntimeTests: XCTestCase { XCTAssertEqual(environment.pointee?.pointee.GetObjectRefType(environment, sneakyJavaThis), JNIInvalidRefType) // 'super' and 'as' don't require allocating a new holder. - let url = try URL("http://swift.org", environment: environment) + let url = try JavaURL("http://swift.org", environment: environment) let superURL: JavaObject = url XCTAssert(url.javaHolder === superURL.javaHolder) - let urlAgain = superURL.as(URL.self)! + let urlAgain = superURL.as(JavaURL.self)! XCTAssert(url.javaHolder === urlAgain.javaHolder) } @@ -58,7 +58,7 @@ class BasicRuntimeTests: XCTestCase { let environment = try jvm.environment() do { - _ = try URL("bad url", environment: environment) + _ = try JavaURL("bad url", environment: environment) } catch { XCTAssertEqual(String(describing: error), "java.net.MalformedURLException: no protocol: bad url") } @@ -89,7 +89,7 @@ class BasicRuntimeTests: XCTestCase { func testCrossThreadAccess() async throws { let environment = try jvm.environment() - let url = try URL("https://swift.org", environment: environment) + let url = try JavaURL("https://swift.org", environment: environment) let string = await Task.detached { // This should be called on a different thread url.toString() diff --git a/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift b/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift index 747febd97..d23121860 100644 --- a/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift +++ b/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift @@ -89,7 +89,7 @@ func assertWrapJavaOutput( ) translator.androidAPIVersions = androidAPIVersions - let classpathJavaURLs: [JavaNet.URL] + let classpathJavaURLs: [JavaURL] if makeJar { // Convert each classpath directory into a JAR and use those as classpath entries classpathJavaURLs = classpath.map { classpathDir in @@ -105,10 +105,10 @@ func assertWrapJavaOutput( fatalError("jar failed with exit code \(process.terminationStatus)") } print("Created JAR: \(jarFile)") - return try! JavaNet.URL.init("\(jarFile)") + return try! JavaURL.init("\(jarFile)") } } else { - classpathJavaURLs = classpath.map({ try! JavaNet.URL.init("\($0)/") }) // we MUST have a trailing slash for JVM to consider it a search directory + classpathJavaURLs = classpath.map({ try! JavaURL.init("\($0)/") }) // we MUST have a trailing slash for JVM to consider it a search directory } let classLoader = URLClassLoader(classpathJavaURLs, environment: environment) From c729f39d34cbd49a66aac35f758131390da3e60f Mon Sep 17 00:00:00 2001 From: Iceman Date: Mon, 16 Mar 2026 11:19:00 +0900 Subject: [PATCH 2/2] Fix deprecated JavaURL initializer usage --- Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift | 2 +- Tests/SwiftJavaTests/BasicRuntimeTests.swift | 8 ++++---- Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift b/Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift index 228ccb9e9..b75436860 100644 --- a/Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift +++ b/Sources/JavaStdlib/JavaNet/JavaURL+Extensions.swift @@ -32,6 +32,6 @@ extension URL { extension JavaURL { public static func fromSwift(_ url: URL) throws -> JavaURL { - try JavaURL(url.absoluteString) + try URI(url.absoluteString).toURL() } } diff --git a/Tests/SwiftJavaTests/BasicRuntimeTests.swift b/Tests/SwiftJavaTests/BasicRuntimeTests.swift index 3141a4c8a..a40671033 100644 --- a/Tests/SwiftJavaTests/BasicRuntimeTests.swift +++ b/Tests/SwiftJavaTests/BasicRuntimeTests.swift @@ -47,7 +47,7 @@ class BasicRuntimeTests: XCTestCase { XCTAssertEqual(environment.pointee?.pointee.GetObjectRefType(environment, sneakyJavaThis), JNIInvalidRefType) // 'super' and 'as' don't require allocating a new holder. - let url = try JavaURL("http://swift.org", environment: environment) + let url = try URI("http://swift.org", environment: environment).toURL()! let superURL: JavaObject = url XCTAssert(url.javaHolder === superURL.javaHolder) let urlAgain = superURL.as(JavaURL.self)! @@ -58,9 +58,9 @@ class BasicRuntimeTests: XCTestCase { let environment = try jvm.environment() do { - _ = try JavaURL("bad url", environment: environment) + _ = try URI("bad url", environment: environment) } catch { - XCTAssertEqual(String(describing: error), "java.net.MalformedURLException: no protocol: bad url") + XCTAssertEqual(String(describing: error), "java.net.URISyntaxException: Illegal character in path at index 3: bad url") } } @@ -89,7 +89,7 @@ class BasicRuntimeTests: XCTestCase { func testCrossThreadAccess() async throws { let environment = try jvm.environment() - let url = try JavaURL("https://swift.org", environment: environment) + let url = try URI("https://swift.org", environment: environment).toURL()! let string = await Task.detached { // This should be called on a different thread url.toString() diff --git a/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift b/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift index d23121860..df21bc681 100644 --- a/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift +++ b/Tests/SwiftJavaToolLibTests/CompileJavaWrapTools.swift @@ -105,10 +105,10 @@ func assertWrapJavaOutput( fatalError("jar failed with exit code \(process.terminationStatus)") } print("Created JAR: \(jarFile)") - return try! JavaURL.init("\(jarFile)") + return try! URI("\(jarFile)").toURL() } } else { - classpathJavaURLs = classpath.map({ try! JavaURL.init("\($0)/") }) // we MUST have a trailing slash for JVM to consider it a search directory + classpathJavaURLs = classpath.map({ try! URI("\($0)/").toURL() }) // we MUST have a trailing slash for JVM to consider it a search directory } let classLoader = URLClassLoader(classpathJavaURLs, environment: environment)