com.ionoscloud.s3.messages.ListMultipartUploadsResult Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ionos-cloud-sdk-s3 Show documentation
Show all versions of ionos-cloud-sdk-s3 Show documentation
IONOS Java SDK for Amazon S3 Compatible Cloud Storage
The newest version!
package com.ionoscloud.s3.messages;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Namespace;
import org.simpleframework.xml.Root;
/**
* Object representation of response XML of ListMultipartUploads
* API.
*/
@Root(name = "ListMultipartUploadsResult", strict = false)
@Namespace(reference = "http://s3.amazonaws.com/doc/2006-03-01/")
public class ListMultipartUploadsResult {
@Element(name = "Bucket")
private String bucketName;
@Element(name = "EncodingType", required = false)
private String encodingType;
@Element(name = "KeyMarker", required = false)
private String keyMarker;
@Element(name = "UploadIdMarker", required = false)
private String uploadIdMarker;
@Element(name = "NextKeyMarker", required = false)
private String nextKeyMarker;
@Element(name = "NextUploadIdMarker", required = false)
private String nextUploadIdMarker;
@Element(name = "MaxUploads")
private int maxUploads;
@Element(name = "IsTruncated", required = false)
private boolean isTruncated;
@ElementList(name = "Upload", inline = true, required = false)
List uploads;
public ListMultipartUploadsResult() {}
private String decodeIfNeeded(String value) {
try {
return (value != null && "url".equals(encodingType))
? URLDecoder.decode(value, StandardCharsets.UTF_8.name())
: value;
} catch (UnsupportedEncodingException e) {
// This never happens as 'enc' name comes from JDK's own StandardCharsets.
throw new RuntimeException(e);
}
}
/** Returns whether the result is truncated or not. */
public boolean isTruncated() {
return isTruncated;
}
/** Returns bucket name. */
public String bucketName() {
return bucketName;
}
/** Returns key marker. */
public String keyMarker() {
return decodeIfNeeded(keyMarker);
}
/** Returns upload ID marker. */
public String uploadIdMarker() {
return uploadIdMarker;
}
/** Returns next key marker. */
public String nextKeyMarker() {
return decodeIfNeeded(nextKeyMarker);
}
/** Returns next upload ID marker. */
public String nextUploadIdMarker() {
return nextUploadIdMarker;
}
/** Returns max uploads received. */
public int maxUploads() {
return maxUploads;
}
public String encodingType() {
return encodingType;
}
/** Returns List of Upload. */
public List uploads() {
if (uploads == null) {
return Collections.unmodifiableList(new LinkedList<>());
}
return Collections.unmodifiableList(uploads);
}
}