MASES.JCOBridge
2.5.0
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 |
---|---|
.NET | net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Framework | net462 net463 net47 net471 net472 net48 net481 |
This package has no dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on MASES.JCOBridge:
Package | Downloads |
---|---|
MASES.JNet
JNet - .NET gateway for JVM APIs (Java, Scala, Kotlin, ...) to use .NET and JVM 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.0 | 77 | 1/28/2023 | |
2.4.14 | 355,745 | 8/18/2022 | |
2.4.13 | 252 | 8/16/2022 | |
2.4.12 | 34,787 | 5/7/2022 | |
2.4.11 | 531 | 4/28/2022 | |
2.4.10 | 372 | 4/13/2022 | |
2.4.9 | 5,090 | 3/28/2022 | |
2.4.8 | 824 | 3/19/2022 | |
2.4.7 | 1,822 | 3/9/2022 | |
2.4.6 | 1,554 | 2/5/2022 | |
2.4.5 | 234 | 1/8/2022 | |
2.4.4 | 191 | 1/3/2022 | |
2.4.3 | 445 | 12/13/2021 | |
2.4.1 | 833 | 11/21/2021 | |
2.4.0 | 419 | 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