All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.oss.model.SelectObjectMetadata Maven / Gradle / Ivy

There is a newer version: 3.4.2
Show newest version
package com.aliyun.oss.model;

/**
 * Metadata for select object requests.
 * For example, {@link CSVObjectMetadata} contains total lines so that
 * users can do line-range query for select requests
 */
public class SelectObjectMetadata extends ObjectMetadata {

    private CSVObjectMetadata csvObjectMetadata;
    private JsonObjectMetadata jsonObjectMetadata;

    public SelectObjectMetadata() {}

    public SelectObjectMetadata(ObjectMetadata objectMetadata) {
        setUserMetadata(objectMetadata.getUserMetadata());
        metadata.putAll(objectMetadata.getRawMetadata());
    }

    public CSVObjectMetadata getCsvObjectMetadata() {
        return csvObjectMetadata;
    }

    public void setCsvObjectMetadata(CSVObjectMetadata csvObjectMetadata) {
        this.csvObjectMetadata = csvObjectMetadata;
    }

    public JsonObjectMetadata getJsonObjectMetadata() {
        return jsonObjectMetadata;
    }

    public void setJsonObjectMetadata(JsonObjectMetadata jsonObjectMetadata) {
        this.jsonObjectMetadata = jsonObjectMetadata;
    }

    public static class SelectContentMetadataBase {
        private long totalLines;
        private int splits;

        public long getTotalLines() {
            return totalLines;
        }

        public void setTotalLines(long totalLines) {
            this.totalLines = totalLines;
        }

        public SelectContentMetadataBase withTotalLines(long totalLines) {
            setTotalLines(totalLines);
            return this;
        }

        public int getSplits() {
            return splits;
        }

        public void setSplits(int splits) {
            this.splits = splits;
        }

        public SelectContentMetadataBase withSplits(int splits) {
            setSplits(splits);
            return this;
        }
    }

    public static class CSVObjectMetadata extends SelectContentMetadataBase {
    }

    public static class JsonObjectMetadata extends SelectContentMetadataBase {
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy