Skip to content

Commit 4a1d1a3

Browse files
committed
missing helpers
1 parent 56b6866 commit 4a1d1a3

File tree

3 files changed

+171
-1
lines changed

3 files changed

+171
-1
lines changed

helpers/java/helpers.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,16 @@ public static String replaceAll(Object baseString, Object search, Object replace
664664
return s.replace(find, repl); // literal (non-regex) replacement
665665
}
666666

667+
public static String replace(Object baseString, Object search, Object replacement) {
668+
if (baseString == null) {
669+
return null;
670+
}
671+
String s = String.valueOf(baseString);
672+
String find = (search == null) ? "" : String.valueOf(search);
673+
String repl = (replacement == null) ? "" : String.valueOf(replacement);
674+
return s.replaceFirst(find, repl); // literal (non-regex) replacement
675+
}
676+
667677
public static Object getArg(Object[] v, int index, Object def) {
668678
if (v.length <= index) {
669679
return def;
@@ -705,4 +715,32 @@ public static void addElementToObject(Object target, Object... args) {
705715
private static String typeName(Object o) {
706716
return (o == null) ? "null" : o.getClass().getName();
707717
}
718+
719+
public static Object opNeg(Object value) {
720+
if (value == null) {
721+
return null;
722+
}
723+
724+
if (value instanceof Byte) {
725+
byte v = (Byte) value;
726+
return (byte) -v;
727+
}
728+
if (value instanceof Short v) {
729+
return (short) -v;
730+
}
731+
if (value instanceof Integer v) {
732+
return -v;
733+
}
734+
if (value instanceof Long v) {
735+
return -v;
736+
}
737+
if (value instanceof Float v) {
738+
return -v;
739+
}
740+
if (value instanceof Double v) {
741+
return -v;
742+
}
743+
744+
return null;
745+
}
708746
}

java-demo/app/src/main/java/org/example/App.java

Lines changed: 95 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
*/
44
package org.example;
55

6+
import java.util.concurrent.CompletableFuture;
7+
68

79
public class App {
810

@@ -35,6 +37,12 @@ public void test() {
3537
System.out.println("test");
3638
}
3739

40+
public void retryingTask(int... retries) {
41+
int n = (retries.length == 0) ? 3 : retries[0]; // default = 3
42+
System.out.println("n: " + n);
43+
// ...
44+
}
45+
3846
public String getGreeting() {
3947
var i = 1;
4048
i += 1;
@@ -44,9 +52,95 @@ public String getGreeting() {
4452
return "Hello World222!" + String.valueOf(i) + a;
4553
}
4654

55+
public CompletableFuture<Object> testAsync() {
56+
return CompletableFuture.supplyAsync(() -> {
57+
try {
58+
Thread.sleep(1000); // Simulate a delay
59+
throw new RuntimeException("Simulated exception");
60+
} catch (InterruptedException e) {
61+
Thread.currentThread().interrupt();
62+
}
63+
return "Async Result";
64+
});
65+
}
66+
67+
public void teste()
68+
{
69+
Object aaa = (this.fWithParams(3)).join();
70+
System.out.println(aaa);
71+
var c = this.fWithParams(5);
72+
}
73+
74+
public java.util.concurrent.CompletableFuture<Object> fWithParams(Object a)
75+
{
76+
return java.util.concurrent.CompletableFuture.supplyAsync(() -> {
77+
return 42;
78+
});
79+
80+
}
81+
82+
public java.util.concurrent.CompletableFuture teste(Object a)
83+
{
84+
return java.util.concurrent.CompletableFuture.supplyAsync(() -> {
85+
System.out.println(a);
86+
throw new Error("test") ;
87+
});
88+
89+
}
90+
91+
public Object getVar(Object v) {
92+
return v;
93+
}
94+
95+
public void teste33(String a)
96+
{
97+
var x = 1;
98+
x = 2;
99+
Object newObj = new java.util.HashMap<String, Object>() {{
100+
put( "a", App.this.getVar(x) );
101+
put( "a", a );
102+
// put( "b", this.getValue(this.getValue(this.getValue(2))) );
103+
}};
104+
throw new Error("test") ;
105+
}
106+
107+
public java.util.concurrent.CompletableFuture<Object> fetchData(Object input3)
108+
{
109+
final Object input2 = input3;
110+
return java.util.concurrent.CompletableFuture.supplyAsync(() -> {
111+
Object input = input2;
112+
input = 3;
113+
return Helpers.add(input, 2);
114+
});
115+
116+
}
117+
118+
public java.util.concurrent.CompletableFuture<Object> fetchData(Object input2, Object... optionalArgs)
119+
{
120+
final Object input3 = input2;
121+
return java.util.concurrent.CompletableFuture.supplyAsync(() -> {
122+
Object input = input3;
123+
System.out.println(input);
124+
return null;
125+
});
126+
127+
}
128+
47129
public static void main(String[] args) {
130+
// this.retryingTask();
131+
132+
var base = 3;
48133
System.out.println(new App().getGreeting());
49-
// var app = new App();
134+
var app = new App();
135+
app.teste33("example");
136+
// app.retryingTask();
137+
try {
138+
var res = app.testAsync().join();
139+
System.out.println("res: " + res);
140+
} catch (Exception e) {
141+
System.out.println("Error: " + e.getMessage());
142+
}
143+
50144
// System.out.println(app.getGreeting());
51145
// app.test();
52146
// app.aa();

java-demo/app/src/main/java/org/example/Helpers.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,16 @@ public static String replaceAll(Object baseString, Object search, Object replace
664664
return s.replace(find, repl); // literal (non-regex) replacement
665665
}
666666

667+
public static String replace(Object baseString, Object search, Object replacement) {
668+
if (baseString == null) {
669+
return null;
670+
}
671+
String s = String.valueOf(baseString);
672+
String find = (search == null) ? "" : String.valueOf(search);
673+
String repl = (replacement == null) ? "" : String.valueOf(replacement);
674+
return s.replaceFirst(find, repl); // literal (non-regex) replacement
675+
}
676+
667677
public static Object getArg(Object[] v, int index, Object def) {
668678
if (v.length <= index) {
669679
return def;
@@ -705,4 +715,32 @@ public static void addElementToObject(Object target, Object... args) {
705715
private static String typeName(Object o) {
706716
return (o == null) ? "null" : o.getClass().getName();
707717
}
718+
719+
public static Object opNeg(Object value) {
720+
if (value == null) {
721+
return null;
722+
}
723+
724+
if (value instanceof Byte) {
725+
byte v = (Byte) value;
726+
return (byte) -v;
727+
}
728+
if (value instanceof Short v) {
729+
return (short) -v;
730+
}
731+
if (value instanceof Integer v) {
732+
return -v;
733+
}
734+
if (value instanceof Long v) {
735+
return -v;
736+
}
737+
if (value instanceof Float v) {
738+
return -v;
739+
}
740+
if (value instanceof Double v) {
741+
return -v;
742+
}
743+
744+
return null;
745+
}
708746
}

0 commit comments

Comments
 (0)