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

com.smartsheet.api.models.RowEmail Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
package com.smartsheet.api.models;

/*
 * #[license]
 * Smartsheet SDK for Java
 * %%
 * Copyright (C) 2014 Smartsheet
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * %[license]
 */

import java.util.List;

/**
 * Represents RowEmail object.
 */
public class RowEmail extends Email {

	@Override
	public List getSendTo() {
		return super.getSendTo();
	}

	@Override
	public RowEmail setSendTo(List sendTo) {
		super.setSendTo(sendTo);
		return this;
	}

	@Override
	public String getSubject() {
		return super.getSubject();
	}

	@Override
	public RowEmail setSubject(String subject) {
		super.setSubject(subject);
		return this;
	}

	@Override
	public String getMessage() {
		return super.getMessage();
	}

	@Override
	public RowEmail setMessage(String message) {
		super.setMessage(message);
		return this;
	}

	@Override
	public Boolean getCcMe() {
		return super.getCcMe();
	}

	@Override
	public RowEmail setCcMe(Boolean ccMe) {
		super.setCcMe(ccMe);
		return this;
	}

	/**
	 * A flag to indicate if attachments should be included in the email.
	 */
	private Boolean includeAttachments;

	/**
	 * A flag to indicate if discussions should be included in the email.
	 */
	private Boolean includeDiscussions;

	/**
	 * Represents IDs of the columns to be included.
	 */
	private List columnIds;

	/**
	 * Gets the IDs of the columns to be included.
	 *
	 * @return the colmn ids
	 */
	public List getColumnIds() {
		return columnIds;
	}

	/**
	 * Sets the IDs of the columns to be included.
	 *
	 * @param columnIds the column ids
	 */
	public RowEmail setColumnIds(List columnIds) {
		this.columnIds = columnIds;
		return this;
	}

	/**
	 * Gets the flag that indicates if attachments should be included in the email.
	 *
	 * @return the include attachments
	 */
	public Boolean getIncludeAttachments() {
		return includeAttachments;
	}

	/**
	 * Sets the flag that indicates if attachments should be included in the email.
	 *
	 * @param includeAttachments the new include attachments
	 */
	public RowEmail setIncludeAttachments(Boolean includeAttachments) {
		this.includeAttachments = includeAttachments;
		return this;
	}

	/**
	 * Gets the flag that indicates if discussions should be included in the email.
	 *
	 * @return the include discussions
	 */
	public Boolean getIncludeDiscussions() {
		return includeDiscussions;
	}

	/**
	 * Sets the flag that indicates if discussions should be included in the email.
	 *
	 * @param includeDiscussions the new include discussions
	 */
	public RowEmail setIncludeDiscussions(Boolean includeDiscussions) {
		this.includeDiscussions = includeDiscussions;
		return this;
	}

	/**
	 * A convenience class to help create a RowEmail object with the appropriate fields.
	 */
	public static class AddRowEmailBuilder {
		/**
		 * A flag to indicate if attachments should be included in the email.
		 */
		private Boolean includeAttachments;

		/**
		 * A flag to indicate if discussions should be included in the email.
		 */
		private Boolean includeDiscussions;

		/**
		 * Gets the flag that indicates if attachments should be included in the email.
		 *
		 * @return the include attachments
		 */
		public Boolean getIncludeAttachments() {
			return includeAttachments;
		}

		/**
		 * Sets the flag that indicates if attachments should be included in the email.
		 *
		 * @param includeAttachments the new include attachments
		 * @return the builder
		 */
		public AddRowEmailBuilder setIncludeAttachments(Boolean includeAttachments) {
			this.includeAttachments = includeAttachments;
			return this;
		}

		/**
		 * Gets the flag that indicates if discussions should be included in the email.
		 *
		 * @return the include discussions
		 */
		public Boolean getIncludeDiscussions() {
			return includeDiscussions;
		}

		/**
		 * Sets the flag that indicates if discussions should be included in the email.
		 *
		 * @param includeDiscussions the new include discussions
		 * @return the builder
		 */
		public AddRowEmailBuilder setIncludeDiscussions(Boolean includeDiscussions) {
			this.includeDiscussions = includeDiscussions;
			return this;
		}

		/**
		 * Represents the list of recipients to send to
		 */
		private List sendTo;

		/**
		 * Represents the subject.
		 */
		private String subject;

		/**
		 * Represents the message.
		 */
		private String message;

		/**
		 * Represents the CC me flag.
		 */
		private Boolean ccMe;

		/**
		 * Gets the list of recipients to send to
		 * @return the list of recipients
		 */
		public List getSendTo() { return sendTo; }

		/**
		 * Sets the list of recipients to send to
		 * @param sendTo list of recipients
		 * @return the builder
		 */
		public AddRowEmailBuilder setSendTo(List sendTo) { this.sendTo = sendTo;
			return  this;}

		/**
		 * Gets the subject.
		 *
		 * @return the subject
		 */
		public String getSubject() {
			return subject;
		}

		/**
		 * Sets the subject.
		 *
		 * @param subject the new subject
		 * @return the associated builder
		 */
		public AddRowEmailBuilder setSubject(String subject) {
			this.subject = subject;
			return this;
		}

		/**
		 * Gets the message.
		 *
		 * @return the message
		 */
		public String getMessage() {
			return message;
		}

		/**
		 * Sets the message.
		 *
		 * @param message the new message
		 * @return the builder
		 */
		public AddRowEmailBuilder setMessage(String message) {
			this.message = message;
			return this;
		}

		/**
		 * Gets the carbon copy me flag.
		 *
		 * @return the cc me
		 */
		public Boolean getCcMe() {
			return ccMe;
		}

		/**
		 * Sets the carbon copy me flag.
		 *
		 * @param ccMe the new cc me
		 * @return the builder
		 */
		public AddRowEmailBuilder setCcMe(Boolean ccMe) {
			this.ccMe = ccMe;
			return this;
		}


		/**
		 * Builds the row email.
		 *
		 * @return the rowemail
		 */
		public RowEmail build() {
			RowEmail rowEmail = new RowEmail();
			rowEmail.includeAttachments = includeAttachments;
			rowEmail.includeDiscussions = includeDiscussions;
			rowEmail.setSendTo(sendTo);
			rowEmail.setSubject(subject);
			rowEmail.setMessage(message);
			rowEmail.setCcMe(ccMe);
			return rowEmail;
		}

	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy