返回列表 上一筆 下一筆

📄 資料內容

// Fluent DTO for attachments

public static class KBAttachDTO {

    private String ifaaSid;   // attachment id

    private String source;    // sfaa_source

    private String name;      // sfaa_name (may contain HTML entities)

    private String webFile;   // sWebFile (relative path)

    private String size;      // ifaa_size (string)



    // ----- Fluent setters -----

    public KBAttachDTO ifaaSid(String v) { this.ifaaSid = safe(v); return this; }

    public KBAttachDTO source(String v)  { this.source  = safe(v); return this; }

    public KBAttachDTO name(String v)    { this.name    = v;       return this; }

    public KBAttachDTO webFile(String v) { this.webFile = safe(v); return this; }

    public KBAttachDTO size(String v)    { this.size    = safe(v); return this; }



    // ----- Optionals / convenience -----

    /** Static factory for compact creation */

    public static KBAttachDTO of() { return new KBAttachDTO(); }



    /** Optional: HTML unescape when needed (Apache Commons Text) */

    public KBAttachDTO unescapeName() {

        // this.name = org.apache.commons.text.StringEscapeUtils.unescapeHtml4(this.name);

        return this;

    }



    // ----- Getters -----

    public String getIfaaSid() { return ifaaSid; }

    public String getSource()  { return source; }

    public String getName()    { return name; }

    public String getWebFile() { return webFile; }

    public String getSize()    { return size; }



    // ----- Utility -----

    private static String safe(String s) { return s == null ? "" : s.trim(); }



    @Override public String toString() {

        return "KBAttachDTO{ifaaSid='" + ifaaSid + "', name='" + name + "', webFile='" + webFile + "'}";

    }

}

🔐 Base64 編碼內容

Ly8gRmx1ZW50IERUTyBmb3IgYXR0YWNobWVudHMKCnB1YmxpYyBzdGF0aWMgY2xhc3MgS0JBdHRhY2hEVE8gewoKICAgIHByaXZhdGUgU3RyaW5nIGlmYWFTaWQ7ICAgLy8gYXR0YWNobWVudCBpZAoKICAgIHByaXZhdGUgU3RyaW5nIHNvdXJjZTsgICAgLy8gc2ZhYV9zb3VyY2UKCiAgICBwcml2YXRlIFN0cmluZyBuYW1lOyAgICAgIC8vIHNmYWFfbmFtZSAobWF5IGNvbnRhaW4gSFRNTCBlbnRpdGllcykKCiAgICBwcml2YXRlIFN0cmluZyB3ZWJGaWxlOyAgIC8vIHNXZWJGaWxlIChyZWxhdGl2ZSBwYXRoKQoKICAgIHByaXZhdGUgU3RyaW5nIHNpemU7ICAgICAgLy8gaWZhYV9zaXplIChzdHJpbmcpCgoKCiAgICAvLyAtLS0tLSBGbHVlbnQgc2V0dGVycyAtLS0tLQoKICAgIHB1YmxpYyBLQkF0dGFjaERUTyBpZmFhU2lkKFN0cmluZyB2KSB7IHRoaXMuaWZhYVNpZCA9IHNhZmUodik7IHJldHVybiB0aGlzOyB9CgogICAgcHVibGljIEtCQXR0YWNoRFRPIHNvdXJjZShTdHJpbmcgdikgIHsgdGhpcy5zb3VyY2UgID0gc2FmZSh2KTsgcmV0dXJuIHRoaXM7IH0KCiAgICBwdWJsaWMgS0JBdHRhY2hEVE8gbmFtZShTdHJpbmcgdikgICAgeyB0aGlzLm5hbWUgICAgPSB2OyAgICAgICByZXR1cm4gdGhpczsgfQoKICAgIHB1YmxpYyBLQkF0dGFjaERUTyB3ZWJGaWxlKFN0cmluZyB2KSB7IHRoaXMud2ViRmlsZSA9IHNhZmUodik7IHJldHVybiB0aGlzOyB9CgogICAgcHVibGljIEtCQXR0YWNoRFRPIHNpemUoU3RyaW5nIHYpICAgIHsgdGhpcy5zaXplICAgID0gc2FmZSh2KTsgcmV0dXJuIHRoaXM7IH0KCgoKICAgIC8vIC0tLS0tIE9wdGlvbmFscyAvIGNvbnZlbmllbmNlIC0tLS0tCgogICAgLyoqIFN0YXRpYyBmYWN0b3J5IGZvciBjb21wYWN0IGNyZWF0aW9uICovCgogICAgcHVibGljIHN0YXRpYyBLQkF0dGFjaERUTyBvZigpIHsgcmV0dXJuIG5ldyBLQkF0dGFjaERUTygpOyB9CgoKCiAgICAvKiogT3B0aW9uYWw6IEhUTUwgdW5lc2NhcGUgd2hlbiBuZWVkZWQgKEFwYWNoZSBDb21tb25zIFRleHQpICovCgogICAgcHVibGljIEtCQXR0YWNoRFRPIHVuZXNjYXBlTmFtZSgpIHsKCiAgICAgICAgLy8gdGhpcy5uYW1lID0gb3JnLmFwYWNoZS5jb21tb25zLnRleHQuU3RyaW5nRXNjYXBlVXRpbHMudW5lc2NhcGVIdG1sNCh0aGlzLm5hbWUpOwoKICAgICAgICByZXR1cm4gdGhpczsKCiAgICB9CgoKCiAgICAvLyAtLS0tLSBHZXR0ZXJzIC0tLS0tCgogICAgcHVibGljIFN0cmluZyBnZXRJZmFhU2lkKCkgeyByZXR1cm4gaWZhYVNpZDsgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0U291cmNlKCkgIHsgcmV0dXJuIHNvdXJjZTsgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0TmFtZSgpICAgIHsgcmV0dXJuIG5hbWU7IH0KCiAgICBwdWJsaWMgU3RyaW5nIGdldFdlYkZpbGUoKSB7IHJldHVybiB3ZWJGaWxlOyB9CgogICAgcHVibGljIFN0cmluZyBnZXRTaXplKCkgICAgeyByZXR1cm4gc2l6ZTsgfQoKCgogICAgLy8gLS0tLS0gVXRpbGl0eSAtLS0tLQoKICAgIHByaXZhdGUgc3RhdGljIFN0cmluZyBzYWZlKFN0cmluZyBzKSB7IHJldHVybiBzID09IG51bGwgPyAiIiA6IHMudHJpbSgpOyB9CgoKCiAgICBAT3ZlcnJpZGUgcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKCiAgICAgICAgcmV0dXJuICJLQkF0dGFjaERUT3tpZmFhU2lkPSciICsgaWZhYVNpZCArICInLCBuYW1lPSciICsgbmFtZSArICInLCB3ZWJGaWxlPSciICsgd2ViRmlsZSArICInfSI7CgogICAgfQoKfQo=
返回列表 上一筆 下一筆