Skip to content

Commit 186c823

Browse files
LukaBraziaMichalPrincNXP
authored andcommitted
Make java code jdk11 compliant
1 parent 21b43ec commit 186c823

5 files changed

Lines changed: 158 additions & 21 deletions

File tree

erpc_java/deploy.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838

3939
<properties>
4040
<!-- Java version configuration -->
41-
<maven.compiler.source>21</maven.compiler.source>
42-
<maven.compiler.target>21</maven.compiler.target>
41+
<maven.compiler.source>11</maven.compiler.source>
42+
<maven.compiler.target>11</maven.compiler.target>
4343
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4444

4545
<!-- Plugins versions -->
@@ -192,4 +192,4 @@
192192
</plugins>
193193
</build>
194194

195-
</project>
195+
</project>

erpc_java/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838

3939
<properties>
4040
<!-- Java version configuration -->
41-
<maven.compiler.source>21</maven.compiler.source>
42-
<maven.compiler.target>21</maven.compiler.target>
41+
<maven.compiler.source>11</maven.compiler.source>
42+
<maven.compiler.target>11</maven.compiler.target>
4343
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4444

4545
<!-- Plugins versions -->
@@ -126,4 +126,4 @@
126126
</plugins>
127127
</build>
128128

129-
</project>
129+
</project>

erpc_java/src/main/java/io/github/embeddedrpc/erpc/auxiliary/MessageInfo.java

Lines changed: 69 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,80 @@
66

77
package io.github.embeddedrpc.erpc.auxiliary;
88

9+
import java.util.Objects;
10+
11+
public final class MessageInfo {
12+
private final MessageType type;
13+
private final int service;
14+
private final int request;
15+
private final int sequence;
16+
917
/**
10-
* Record storing information about message.
18+
* Class storing information about message.
1119
*
1220
* @param type Message type
1321
* @param service Service identification
1422
* @param request Request identification
1523
* @param sequence Sequence number
1624
*/
17-
public record MessageInfo(
18-
MessageType type,
19-
int service,
20-
int request,
21-
int sequence) {
25+
public MessageInfo(MessageType type, int service, int request, int sequence) {
26+
this.type = type;
27+
this.service = service;
28+
this.request = request;
29+
this.sequence = sequence;
30+
}
31+
32+
/**
33+
* Get message type.
34+
*
35+
* @return type
36+
*/
37+
public MessageType type() {
38+
return type;
39+
}
40+
41+
/**
42+
* Get message service.
43+
*
44+
* @return service
45+
*/
46+
public int service() {
47+
return service;
48+
}
49+
50+
/**
51+
* Get message request.
52+
*
53+
* @return request
54+
*/
55+
public int request() {
56+
return request;
57+
}
58+
59+
60+
/**
61+
* Get message sequence.
62+
*
63+
* @return sequence
64+
*/
65+
public int sequence() {
66+
return sequence;
67+
}
68+
69+
@Override
70+
public boolean equals(Object o) {
71+
if (this == o) {
72+
return true;
73+
}
74+
if (!(o instanceof MessageInfo)) {
75+
return false;
76+
}
77+
MessageInfo that = (MessageInfo) o;
78+
return service == that.service && request == that.request && sequence == that.sequence && type == that.type;
79+
}
80+
81+
@Override
82+
public int hashCode() {
83+
return Objects.hash(type, service, request, sequence);
84+
}
2285
}

erpc_java/src/main/java/io/github/embeddedrpc/erpc/auxiliary/MessageType.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,17 @@ public int getValue() {
5757
* @return Corresponding MessageType
5858
*/
5959
public static MessageType getMessageType(int value) {
60-
return switch (value) {
61-
case 0 -> kInvocationMessage;
62-
case 1 -> kOnewayMessage;
63-
case 2 -> kReplyMessage;
64-
case 3 -> kNotificationMessage;
65-
default -> throw new RuntimeException("Invalid MessageType " + value);
66-
};
60+
switch (value) {
61+
case 0:
62+
return kInvocationMessage;
63+
case 1:
64+
return kOnewayMessage;
65+
case 2:
66+
return kReplyMessage;
67+
case 3:
68+
return kNotificationMessage;
69+
default:
70+
throw new RuntimeException("Invalid MessageType " + value);
71+
}
6772
}
6873
}

erpc_java/src/main/java/io/github/embeddedrpc/erpc/auxiliary/RequestContext.java

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,82 @@
99
import io.github.embeddedrpc.erpc.codec.Codec;
1010
import groovyjarjarantlr.ByteBuffer;
1111

12+
import java.util.Objects;
13+
14+
public final class RequestContext {
15+
private final int sequence;
16+
private final ByteBuffer message;
17+
private final Codec codec;
18+
private final Boolean isOneWay;
19+
1220
/**
13-
* Record storing request context.
21+
* Class storing request context.
1422
*
1523
* @param sequence Sequence number
1624
* @param message Message to be sent
1725
* @param codec Codec used to store send and received message
1826
* @param isOneWay Request direction
1927
*/
20-
public record RequestContext(int sequence, ByteBuffer message, Codec codec, Boolean isOneWay) {
28+
public RequestContext(int sequence, ByteBuffer message, Codec codec, Boolean isOneWay) {
29+
this.sequence = sequence;
30+
this.message = message;
31+
this.codec = codec;
32+
this.isOneWay = isOneWay;
33+
}
34+
35+
/**
36+
* Get request context sequence.
37+
*
38+
* @return sequence
39+
*/
40+
public int sequence() {
41+
return sequence;
42+
}
43+
44+
/**
45+
* Get request context message.
46+
*
47+
* @return message
48+
*/
49+
public ByteBuffer message() {
50+
return message;
51+
}
52+
53+
/**
54+
* Get request context codec.
55+
*
56+
* @return codec
57+
*/
58+
public Codec codec() {
59+
return codec;
60+
}
61+
62+
/**
63+
* is request context oneWay.
64+
*
65+
* @return isOneWay
66+
*/
67+
public boolean isOneWay() {
68+
return isOneWay;
69+
}
70+
71+
@Override
72+
public boolean equals(Object o) {
73+
if (this == o) {
74+
return true;
75+
}
76+
if (!(o instanceof RequestContext)) {
77+
return false;
78+
}
79+
RequestContext that = (RequestContext) o;
80+
return sequence == that.sequence
81+
&& Objects.equals(message, that.message)
82+
&& Objects.equals(codec, that.codec)
83+
&& Objects.equals(isOneWay, that.isOneWay);
84+
}
85+
86+
@Override
87+
public int hashCode() {
88+
return Objects.hash(sequence, message, codec, isOneWay);
89+
}
2190
}

0 commit comments

Comments
 (0)