Skip to content

Commit 5222555

Browse files
committed
Introduce Python-to-Java deserialization with type deconversion support and enhance utility methods.
1 parent 8be4c2a commit 5222555

File tree

55 files changed

+821
-70
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+821
-70
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
@NullMarked
2+
package io.maksymuimanov.python.annotation;
3+
4+
import org.jspecify.annotations.NullMarked;

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonBigDecimalConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonBigDecimal;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
import java.math.BigDecimal;
99

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonBigIntegerConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonBigInteger;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
import java.math.BigInteger;
99

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonBooleanConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonBoolean;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
public class PythonBooleanConverter implements PythonTypeConverter {
99
@Override

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonCalendarConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonInstant;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
import java.time.Instant;
99
import java.util.Calendar;

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonDateConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonInstant;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
import java.time.Instant;
99
import java.util.Date;

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonDictionaryConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonDictionary;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
import java.util.HashMap;
99
import java.util.Map;

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonDurationConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonDuration;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
import java.time.Duration;
99

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonEnumDictionaryConverter.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@
44
import io.maksymuimanov.python.bind.PythonString;
55
import io.maksymuimanov.python.script.PythonRepresentation;
66
import io.maksymuimanov.python.serializer.PythonSerializer;
7-
import lombok.SneakyThrows;
87

98
public class PythonEnumDictionaryConverter implements PythonTypeConverter {
10-
@SneakyThrows
119
@Override
1210
public PythonRepresentation convert(Object value, PythonSerializer pythonSerializer) {
1311
PythonDictionary dictionary = (PythonDictionary) pythonSerializer.serialize(value, PythonObjectDictionaryConverter.class);
1412
Enum<?> enumValue = (Enum<?>) value;
15-
dictionary.put(new PythonString("$enumName"), new PythonString(enumValue.name()));
13+
dictionary.put(new PythonString("enum4java"), new PythonString(enumValue.name()));
1614
return dictionary;
1715
}
1816

bind/python-executor-bind-core/src/main/java/io/maksymuimanov/python/converter/PythonFloatConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.maksymuimanov.python.converter;
22

3-
import io.maksymuimanov.python.bind.JavaTypeUtils;
43
import io.maksymuimanov.python.bind.PythonFloat;
54
import io.maksymuimanov.python.script.PythonRepresentation;
65
import io.maksymuimanov.python.serializer.PythonSerializer;
6+
import io.maksymuimanov.python.util.JavaTypeUtils;
77

88
public class PythonFloatConverter implements PythonTypeConverter {
99
@Override

0 commit comments

Comments
 (0)