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

com.mntviews.jreport.JRTemplateSourceInline Maven / Gradle / Ivy

There is a newer version: 1.2.2
Show newest version
package com.mntviews.jreport;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;


import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Base64;

@JsonDeserialize(builder = JRTemplateSourceInline.Builder.class)
public class JRTemplateSourceInline extends JRTemplateSource {
    @JsonProperty("data")
    private final String data;

    @Override
    InputStream load(JRTemplateCommon jrTemplateCommon) {
        return new ByteArrayInputStream(Base64.getDecoder().decode(data));
    }

    public static Builder custom() { return new Builder(); }

    private JRTemplateSourceInline(Builder builder) {
        this.data = builder.data;
    }

    @JsonPOJOBuilder
    public static class Builder {

        @JsonProperty("data")
        private String data;

        public Builder withData(String data) {
            this.data = data;
            return this;
        }

        public JRTemplateSourceInline build() {
            return new JRTemplateSourceInline(this);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy