Skip to content

Commit f83ba94

Browse files
chore: first step to make the datamodel types immutable
1 parent 28947f1 commit f83ba94

File tree

6 files changed

+17
-25
lines changed

6 files changed

+17
-25
lines changed

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/LDAiClient.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* and generating events specific to usage of the AI Config when interacting
2424
* with model providers.
2525
*/
26-
public class LDAiClient implements LDAiClientInterface {
26+
public final class LDAiClient implements LDAiClientInterface {
2727
private LDClientInterface client;
2828
private LDLogger logger;
2929

@@ -89,11 +89,7 @@ protected AiConfig parseAiConfig(LDValue value, String key) {
8989
throw new AiConfigParseException("individual message must be a JSON object");
9090
}
9191

92-
Message message = new Message();
93-
message.setContent(ldValueNullCheck(valueMessage.get("content")).stringValue());
94-
// TODO: For absolute safety, we need to check this is one out of the three
95-
// possible enum
96-
message.setRole(Role.valueOf(valueMessage.get("role").stringValue().toUpperCase()));
92+
Message message = new Message(ldValueNullCheck(valueMessage.get("content")).stringValue(), Role.valueOf(valueMessage.get("role").stringValue().toUpperCase()));
9793
messages.add(message);
9894
}
9995
result.setMessages(messages);
@@ -150,8 +146,7 @@ protected AiConfig parseAiConfig(LDValue value, String key) {
150146
throw new AiConfigParseException("non-null provider must be a JSON object");
151147
}
152148

153-
Provider provider = new Provider();
154-
provider.setName(ldValueNullCheck(valueProvider.get("name")).stringValue());
149+
Provider provider = new Provider(ldValueNullCheck(valueProvider.get("name")).stringValue());
155150
result.setProvider(provider);
156151
} else {
157152
// Provider is optional - we can just set null and proceed

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/datamodel/AiConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import java.util.List;
44

5-
public class AiConfig {
5+
public final class AiConfig {
66
private List<Message> messages;
77

88
private Meta meta;
Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
package com.launchdarkly.sdk.server.ai.datamodel;
22

3-
public class Message {
3+
public final class Message {
44
private String content;
55

66
private Role role;
77

8-
public String getContent() {
9-
return content;
8+
public Message(String content, Role role) {
9+
this.content = content;
10+
this.role = role;
1011
}
1112

12-
public void setContent(String content) {
13-
this.content = content;
13+
public String getContent() {
14+
return content;
1415
}
1516

1617
public Role getRole() {
1718
return role;
1819
}
19-
20-
public void setRole(Role role) {
21-
this.role = role;
22-
}
2320
}

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/datamodel/Meta.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import java.util.Optional;
44

5-
public class Meta {
5+
public final class Meta {
66
/**
77
* The variation key.
88
*/

lib/sdk/server-ai/src/main/java/com/launchdarkly/sdk/server/ai/datamodel/Model.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import com.launchdarkly.sdk.LDValue;
66

7-
public class Model {
7+
public final class Model {
88
private String name;
99

1010
private HashMap<String, LDValue> parameters;
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.launchdarkly.sdk.server.ai.datamodel;
22

3-
public class Provider {
3+
public final class Provider {
44
private String name;
55

6-
public String getName() {
7-
return name;
6+
public Provider(String name) {
7+
this.name = name;
88
}
99

10-
public void setName(String name) {
11-
this.name = name;
10+
public String getName() {
11+
return name;
1212
}
1313
}

0 commit comments

Comments
 (0)