MASES.JCOBridge
2.5.0
See the version list below for details.
dotnet add package MASES.JCOBridge --version 2.5.0
NuGet\Install-Package MASES.JCOBridge -Version 2.5.0
<PackageReference Include="MASES.JCOBridge" Version="2.5.0" />
paket add MASES.JCOBridge --version 2.5.0
#r "nuget: MASES.JCOBridge, 2.5.0"
// Install MASES.JCOBridge as a Cake Addin #addin nuget:?package=MASES.JCOBridge&version=2.5.0 // Install MASES.JCOBridge as a Cake Tool #tool nuget:?package=MASES.JCOBridge&version=2.5.0
JCOBridge
Information and examples on www.jcobridge.com.
Templates moved on NuGet JNet Templates
GitHub hosts some public repositories based on JCOBridge:
Other products extending JCOBridge can be found on https://www.jcobridge.com/products/
Field proven
Built on top of the field proven DLR plugin available in the Sinapse platform (https://www.sinapsesystem.com), JCOBridge guarantees the best performance in JVM and CLR worlds integration.
Features
CLR - Available for .NET Framework (Windows only), 6 and 7 on Windows (x86/x64/Arm/Arm64) and Linux (x64/Arm/Arm64), other platforms/architectures available on demand:
- Retrieve JVM
Class
both directly or like a developer can done using the .class keyword in Java - Instantiate JVM object both directly or using dynamic feature of .NET
- Invoke static methods both directly on a previously retrieved
Class
or using dynamic feature of .NET - Invoke instance methods both directly on a previously instatiated object or using dynamic feature of .NET
- Get/Set static fields both directly on a previously retrieved
Class
or using dynamic feature of .NET - Get/Set instance fields both directly on a previously instatiated object or using dynamic feature of .NET
- Use dynamic access to write code in a seamless way as it is done in Java language
- Use specific interface to manage directly methods and fields
- Support classes to simplify bridging of Java classes from .NET
- .NET side is able to send back data to the JVM upon events
- Exceptions directly managed from the core and translable in .NET exceptions
- Management of User Interface controls, properties and events
- Able to integrate Java UI (AWT/Swing/SWT) into WPF/WinForms (from version 2.2)
JVM - Available for .NET Framework (Windows only), 6 and 7 on Windows (x86/x64/Arm/Arm64) and Linux (x64/Arm/Arm64), other platforms/architectures available on demand:
- Retrieve CLR
Type
- Instantiate CLR object
- Invoke static methods on a previously retrieved
Type
- Invoke instance methods on a previously instatiated object
- Get/Set static properties on a previously retrieved
Type
- Get/Set instance properties on a previously instatiated object
- Set Delegates
- Subscribe/Unsubscribe events
- Integrates WPF controls into AWT/Swing window
- Integrate WinForms controls into AWT/Swing window
- Integrate complex .NET Graphical user interfaces objects into AWT/Swing window
- Management of User Interface controls, properties and events
JCOBridge simple example
Imagine you have the following Java Class:
public class MyJavaClass
{
//Static member
static public String myStaticJavaHelloWorld()
{
return "Hello Static World from Java!!";
}
//Instance member
public String myJavaHelloWorld()
{
return "Hello World from Java!!";
}
//Instance member
public double myJavaAdd(double a, double b)
{
return a+b;
}
}
JCOBridge helps to use the previous Java class from C# to access both static and instance methods.
How to call Java code
Define a class that use the Java code:
class MyJavaUsingClass : SetupJVMWrapper
{
public void Execute()
{
string hello = DynJVM.MyJavaClass.myStaticJavaHelloWorld();
Console.WriteLine(hello); //Print "Hello Static World from Java!!"
var myJavaClass = DynJVM.MyJavaClass.@new();
hello = myJavaClass.myJavaHelloWorld();
Console.WriteLine(hello); //Print "Hello World from Java!!"
double result = myJavaClass.myJavaAdd(2.0, 3.0);
Console.WriteLine("{1:0.0}",result); //Print "5.0"
}
}
Add JCOBridge initialization before call the Execute method.
using MASES.LicenseManager.Common;
using MASES.JCBridge.C2JBridge;
using System;
static void Main(string[] args)
{
MyJavaUsingClass JavaTest = new MyJavaUsingClass();
JavaTest.Execute();
}
Other examples are available on JCOBridge website
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has no dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on MASES.JCOBridge:
Package | Downloads |
---|---|
MASES.JNet
Java/JVM suite for .NET - a comprehensive suite of libraries and tools to use Java/JVM APIs (Java, Scala, Kotlin, ...) and .NET side-by-side |
|
MASES.JCOReflectorEngine
JCOReflector Engine - JCOBridge based Java class generator that mimic .NET classes |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
2.5.17 | 328,831 | 6/22/2024 | |
2.5.16 | 146 | 6/22/2024 | |
2.5.15 | 325 | 6/21/2024 | |
2.5.14 | 412 | 6/17/2024 | |
2.5.13 | 57,127 | 5/14/2024 | |
2.5.12 | 236 | 5/13/2024 | |
2.5.11 | 158,453 | 2/29/2024 | |
2.5.10 | 120,792 | 1/20/2024 | |
2.5.9 | 94,404 | 11/25/2023 | |
2.5.8 | 279,184 | 6/26/2023 | |
2.5.7 | 57,310 | 5/3/2023 | |
2.5.6 | 46,544 | 4/15/2023 | |
2.5.5 | 33,201 | 4/6/2023 | |
2.5.4 | 875 | 4/5/2023 | |
2.5.3 | 65,639 | 2/22/2023 | |
2.5.2 | 56,169 | 2/8/2023 | |
2.5.1 | 1,133 | 1/31/2023 | |
2.5.0 | 1,045 | 1/28/2023 | |
2.4.14 | 424,357 | 8/18/2022 | |
2.4.13 | 1,035 | 8/16/2022 | |
2.4.12 | 37,713 | 5/7/2022 | |
2.4.11 | 1,872 | 4/28/2022 | |
2.4.10 | 1,700 | 4/13/2022 | |
2.4.9 | 6,836 | 3/28/2022 | |
2.4.8 | 3,080 | 3/19/2022 | |
2.4.7 | 3,927 | 3/9/2022 | |
2.4.6 | 3,069 | 2/5/2022 | |
2.4.5 | 965 | 1/8/2022 | |
2.4.4 | 948 | 1/3/2022 | |
2.4.3 | 1,283 | 12/13/2021 | |
2.4.1 | 1,717 | 11/21/2021 | |
2.4.0 | 1,228 | 11/13/2021 |
Version 2.5.0:
- Upgrade .NET Framework from v4.6.1 to v4.6.2: v4.6.1 end of support on 26th April
- Removed .NET 5: end of support on 10 May 2022
- Removed .NET Core 3.1: end of support on 13 December 2022
- Added .NET 7
- License model upgrade: it is possible to use online requests togheter with file based licensing
- Speed improvements by 40%
- Templates moved to JNet project, see https://github.com/masesgroup/JNet