Swati4star/Images-to-PDF

View on GitHub
app/src/main/java/swati4star/createpdf/model/TextToPDFOptions.java

Summary

Maintainability
A
2 hrs
Test Coverage
package swati4star.createpdf.model;

import android.content.Context;
import android.net.Uri;

import com.itextpdf.text.Font;

import swati4star.createpdf.preferences.TextToPdfPreferences;

public class TextToPDFOptions extends PDFOptions {
    private final Uri mInFileUri;
    private final int mFontSize;
    private final Font.FontFamily mFontFamily;
    private final int mFontColor;

    public TextToPDFOptions(String mFileName, String mPageSize, boolean mPasswordProtected,
                            String mPassword, Uri mInFileUri, int mFontSize, Font.FontFamily mFontFamily, int color,
                            int pageColor) {
        super(mFileName, mPageSize, mPasswordProtected, mPassword, 0, false, null, pageColor);
        this.mInFileUri = mInFileUri;
        this.mFontSize = mFontSize;
        this.mFontFamily = mFontFamily;
        this.mFontColor = color;
    }

    public Uri getInFileUri() {
        return mInFileUri;
    }

    public int getFontSize() {
        return mFontSize;
    }

    public Font.FontFamily getFontFamily() {
        return mFontFamily;
    }

    public int getFontColor() {
        return mFontColor;
    }

    public static class Builder {

        private String mFileName;
        private String mPageSize;
        private boolean mPasswordProtected;
        private String mPassword;
        private int mPageColor;
        private Uri mInFileUri;
        private int mFontSize;
        private Font.FontFamily mFontFamily;
        private int mFontColor;
        private String mFontSizeTitle;

        public Builder(Context context) {
            final TextToPdfPreferences preferences = new TextToPdfPreferences(context);
            mPageSize = preferences.getPageSize();
            mPasswordProtected = false;
            mFontColor = preferences.getFontColor();
            mFontFamily = Font.FontFamily.valueOf(preferences.getFontFamily());
            mFontSize = preferences.getFontSize();
            mPageColor = preferences.getPageColor();
        }

        public String getFileName() {
            return mFileName;
        }

        public Builder setFileName(String fileName) {
            mFileName = fileName;
            return this;
        }

        public String getPageSize() {
            return mPageSize;
        }

        public Builder setPageSize(String pageSize) {
            mPageSize = pageSize;
            return this;
        }

        public boolean isPasswordProtected() {
            return mPasswordProtected;
        }

        public Builder setPasswordProtected(boolean passwordProtected) {
            mPasswordProtected = passwordProtected;
            return this;
        }

        public String getPassword() {
            return mPassword;
        }

        public Builder setPassword(String password) {
            mPassword = password;
            return this;
        }

        public int getPageColor() {
            return mPageColor;
        }

        public Builder setPageColor(int pageColor) {
            mPageColor = pageColor;
            return this;
        }

        public Uri getInFileUri() {
            return mInFileUri;
        }

        public Builder setInFileUri(Uri inFileUri) {
            mInFileUri = inFileUri;
            return this;
        }

        public int getFontSize() {
            return mFontSize;
        }

        public Builder setFontSize(int fontSize) {
            mFontSize = fontSize;
            return this;
        }

        public Font.FontFamily getFontFamily() {
            return mFontFamily;
        }

        public Builder setFontFamily(Font.FontFamily fontFamily) {
            mFontFamily = fontFamily;
            return this;
        }

        public int getFontColor() {
            return mFontColor;
        }

        public Builder setFontColor(int fontColor) {
            mFontColor = fontColor;
            return this;
        }

        public String getFontSizeTitle() {
            return mFontSizeTitle;
        }

        public Builder setFontSizeTitle(String fontSizeTitle) {
            mFontSizeTitle = fontSizeTitle;
            return this;
        }

        public TextToPDFOptions build() {
            return new TextToPDFOptions(mFileName, mPageSize, mPasswordProtected,
                    mPassword, mInFileUri, mFontSize, mFontFamily, mFontColor, mPageColor);
        }


    }
}