Ether Framework
Unified API docs for Ether modules
Loading...
Searching...
No Matches
AiMessageRole.java
Go to the documentation of this file.
1
package
dev.rafex.ether.ai.core.message;
2
3
/*-
4
* #%L
5
* ether-ai-core
6
* %%
7
* Copyright (C) 2025 - 2026 Raúl Eduardo González Argote
8
* %%
9
* Permission is hereby granted, free of charge, to any person obtaining a copy
10
* of this software and associated documentation files (the "Software"), to deal
11
* in the Software without restriction, including without limitation the rights
12
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
* copies of the Software, and to permit persons to whom the Software is
14
* furnished to do so, subject to the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be included in
17
* all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
* THE SOFTWARE.
26
* #L%
27
*/
28
29
public
enum
AiMessageRole
{
30
SYSTEM
(
"system"
),
USER
(
"user"
),
ASSISTANT
(
"assistant"
),
TOOL
(
"tool"
);
31
32
private
final
String wireValue;
33
34
AiMessageRole
(
final
String wireValue) {
35
this.wireValue = wireValue;
36
}
37
38
public
String
wireValue
() {
39
return
wireValue;
40
}
41
42
public
static
AiMessageRole
fromWireValue
(
final
String value) {
43
if
(value ==
null
|| value.isBlank()) {
44
return
ASSISTANT
;
45
}
46
for
(
final
var role : values()) {
47
if
(role.wireValue.equalsIgnoreCase(value)) {
48
return
role;
49
}
50
}
51
throw
new
IllegalArgumentException(
"Unsupported role: "
+ value);
52
}
53
}
dev.rafex.ether.ai.core.message.AiMessageRole.TOOL
TOOL
Definition
AiMessageRole.java:30
dev.rafex.ether.ai.core.message.AiMessageRole.SYSTEM
SYSTEM
Definition
AiMessageRole.java:30
dev.rafex.ether.ai.core.message.AiMessageRole.USER
USER
Definition
AiMessageRole.java:30
dev.rafex.ether.ai.core.message.AiMessageRole.fromWireValue
static AiMessageRole fromWireValue(final String value)
Definition
AiMessageRole.java:42
dev.rafex.ether.ai.core.message.AiMessageRole.wireValue
String wireValue()
Definition
AiMessageRole.java:38
dev.rafex.ether.ai.core.message.AiMessageRole.ASSISTANT
ASSISTANT
Definition
AiMessageRole.java:30
dev.rafex.ether.ai.core.message.AiMessageRole.AiMessageRole
AiMessageRole(final String wireValue)
Definition
AiMessageRole.java:34
Generated by
1.16.1