Subscription.java
com.mojang.realmsclient.dto.Subscription
信息
- 全限定名:com.mojang.realmsclient.dto.Subscription
- 类型:public record
- 包:com.mojang.realmsclient.dto
- 源码路径:src/main/java/com/mojang/realmsclient/dto/Subscription.java
- 起始行号:L14
- 职责:
TODO
字段/常量
LOGGER- 类型:
Logger - 修饰符:
private static final - 源码定位:
L15 - 说明:
TODO
- 类型:
内部类/嵌套类型
com.mojang.realmsclient.dto.Subscription.SubscriptionType- 类型:
enum - 修饰符:
public static - 源码定位:
L43 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
public static Subscription parse(String json) @ L17
- 方法名:parse
- 源码定位:L17
- 返回类型:Subscription
- 修饰符:public static
参数:
- json: String
说明:
TODO
private static Subscription.SubscriptionType typeFrom(String subscriptionType) @ L31
- 方法名:typeFrom
- 源码定位:L31
- 返回类型:Subscription.SubscriptionType
- 修饰符:private static
参数:
- subscriptionType: String
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public record Subscription(Instant startDate, int daysLeft, Subscription.SubscriptionType type) {
private static final Logger LOGGER = LogUtils.getLogger();
public static Subscription parse(String json) {
try {
JsonObject jsonObject = LenientJsonParser.parse(json).getAsJsonObject();
return new Subscription(
JsonUtils.getDateOr("startDate", jsonObject),
JsonUtils.getIntOr("daysLeft", jsonObject, 0),
typeFrom(JsonUtils.getStringOr("subscriptionType", jsonObject, null))
);
} catch (Exception var2) {
LOGGER.error("Could not parse Subscription", (Throwable)var2);
return new Subscription(Instant.EPOCH, 0, Subscription.SubscriptionType.NORMAL);
}
}
private static Subscription.SubscriptionType typeFrom(@Nullable String subscriptionType) {
try {
if (subscriptionType != null) {
return Subscription.SubscriptionType.valueOf(subscriptionType);
}
} catch (Exception var2) {
}
return Subscription.SubscriptionType.NORMAL;
}
@OnlyIn(Dist.CLIENT)
public static enum SubscriptionType {
NORMAL,
RECURRING;
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
JsonUtils.getDateOr(), JsonUtils.getIntOr(), JsonUtils.getStringOr()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
LenientJsonParser.parse()
- 引用位置: