Backup.java

com.mojang.realmsclient.dto.Backup

信息

  • 全限定名:com.mojang.realmsclient.dto.Backup
  • 类型:public class
  • 包:com.mojang.realmsclient.dto
  • 源码路径:src/main/java/com/mojang/realmsclient/dto/Backup.java
  • 起始行号:L19
  • 继承:ValueObject
  • 职责:

    TODO

字段/常量

  • LOGGER

    • 类型: Logger
    • 修饰符: private static final
    • 源码定位: L20
    • 说明:

      TODO

  • backupId

    • 类型: String
    • 修饰符: public final
    • 源码定位: L21
    • 说明:

      TODO

  • lastModified

    • 类型: Instant
    • 修饰符: public final
    • 源码定位: L22
    • 说明:

      TODO

  • size

    • 类型: long
    • 修饰符: public final
    • 源码定位: L23
    • 说明:

      TODO

  • uploadedVersion

    • 类型: boolean
    • 修饰符: public
    • 源码定位: L24
    • 说明:

      TODO

  • metadata

    • 类型: Map<String,String>
    • 修饰符: public final
    • 源码定位: L25
    • 说明:

      TODO

  • changeList

    • 类型: Map<String,String>
    • 修饰符: public final
    • 源码定位: L26
    • 说明:

      TODO

内部类/嵌套类型

构造器

private Backup(String backupId, Instant lastModified, long size, Map<String,String> metadata) @ L28

  • 构造器名:Backup
  • 源码定位:L28
  • 修饰符:private

参数:

  • backupId: String
  • lastModified: Instant
  • size: long
  • metadata: Map<String,String>

说明:

TODO

方法

下面的方法块按源码顺序生成。

public ZonedDateTime lastModifiedDate() @ L35

  • 方法名:lastModifiedDate
  • 源码定位:L35
  • 返回类型:ZonedDateTime
  • 修饰符:public

参数:

说明:

TODO

public static Backup parse(JsonElement node) @ L39

  • 方法名:parse
  • 源码定位:L39
  • 返回类型:Backup
  • 修饰符:public static

参数:

  • node: JsonElement

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class Backup extends ValueObject {
    private static final Logger LOGGER = LogUtils.getLogger();
    public final String backupId;
    public final Instant lastModified;
    public final long size;
    public boolean uploadedVersion;
    public final Map<String, String> metadata;
    public final Map<String, String> changeList = new HashMap<>();
 
    private Backup(String backupId, Instant lastModified, long size, Map<String, String> metadata) {
        this.backupId = backupId;
        this.lastModified = lastModified;
        this.size = size;
        this.metadata = metadata;
    }
 
    public ZonedDateTime lastModifiedDate() {
        return ZonedDateTime.ofInstant(this.lastModified, ZoneId.systemDefault());
    }
 
    public static @Nullable Backup parse(JsonElement node) {
        JsonObject object = node.getAsJsonObject();
 
        try {
            String backupId = JsonUtils.getStringOr("backupId", object, "");
            Instant lastModifiedDate = JsonUtils.getDateOr("lastModifiedDate", object);
            long size = JsonUtils.getLongOr("size", object, 0L);
            Map<String, String> metadata = new HashMap<>();
            if (object.has("metadata")) {
                JsonObject metadataObject = object.getAsJsonObject("metadata");
 
                for (Entry<String, JsonElement> elem : metadataObject.entrySet()) {
                    if (!elem.getValue().isJsonNull()) {
                        metadata.put(elem.getKey(), elem.getValue().getAsString());
                    }
                }
            }
 
            return new Backup(backupId, lastModifiedDate, size, metadata);
        } catch (Exception var11) {
            LOGGER.error("Could not parse Backup", (Throwable)var11);
            return null;
        }
    }
}

引用的其他类

  • ValueObject

    • 引用位置: 继承
  • JsonUtils

    • 引用位置: 方法调用
    • 关联成员: JsonUtils.getDateOr(), JsonUtils.getLongOr(), JsonUtils.getStringOr()