Files
nightbloom4j/src/main/java/com/hypherionmc/nightbloom/client/agent/UserAgent.java
2023-12-17 18:53:45 +02:00

53 lines
1.4 KiB
Java

package com.hypherionmc.nightbloom.client.agent;
import lombok.Builder;
/**
* @author HypherionSA
* User Agent constructor helper.
* Based on https://github.com/masecla22/Modrinth4J/blob/master/src/main/java/masecla/modrinth4j/client/agent/UserAgent.java
*/
@Builder
public class UserAgent {
// User Agent variables
private String projectName;
private String authorName;
private String projectVersion;
private String contact;
/**
* Override the toString method to return the constructed User Agent string
* @return The User Agent String to be added as a header
*/
@Override
public String toString() {
if (projectName == null && authorName == null && contact == null)
return "Nightbloom4j / No User Agent";
StringBuilder result = new StringBuilder();
if (projectName != null) {
if (authorName != null) {
result.append(authorName).append("/").append(projectName);
} else {
result.append(projectName);
}
} else {
if (authorName != null) {
result.append(authorName);
}
}
if (projectVersion != null) {
result.append("/").append(projectVersion);
}
if (contact != null) {
result.append(" (").append(contact).append(")");
}
return result.toString().trim();
}
}