/*
 * Copyright (C) 2018 EPAM Systems
 *
 * 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.
 */

package com.epam.ta.reportportal.commons;

public class BinaryDataMetaInfo {

	private final String fileId;

	private final String thumbnailFileId;

	/**
	 * Object to hold information about saved file.
	 *
	 * @param fileId
	 * @param thumbnailFileId
	 */
	public BinaryDataMetaInfo(String fileId, String thumbnailFileId) {
		this.fileId = fileId;
		this.thumbnailFileId = thumbnailFileId;
	}

	public String getFileId() {
		return fileId;
	}

	public String getThumbnailFileId() {
		return thumbnailFileId;
	}

	public static final class BinaryDataMetaInfoBuilder {
		private String fileId;
		private String thumbnailFileId;

		private BinaryDataMetaInfoBuilder() {
		}

		public static BinaryDataMetaInfoBuilder aBinaryDataMetaInfo() {
			return new BinaryDataMetaInfoBuilder();
		}

		public BinaryDataMetaInfoBuilder withFileId(String fileId) {
			this.fileId = fileId;
			return this;
		}

		public BinaryDataMetaInfoBuilder withThumbnailFileId(String thumbnailFileId) {
			this.thumbnailFileId = thumbnailFileId;
			return this;
		}

		public BinaryDataMetaInfo build() {
			return new BinaryDataMetaInfo(fileId, thumbnailFileId);
		}
	}
}

@@ -739,16 +739,112 @@
 ileId;%0A%0A
+%09private final Long projectId;%0A%0A%09private final String itemId;%0A%0A%09private final String launchId;%0A%0A
 %09/**%0A%09 *
@@ -1003,24 +1003,72 @@
 mbnailFileId
+, Long projectId, String itemId, String launchId
 ) %7B%0A%09%09this.f
@@ -1117,32 +1117,114 @@
 humbnailFileId;%0A
+%09%09this.projectId = projectId;%0A%09%09this.itemId = itemId;%0A%09%09this.launchId = launchId;%0A
 %09%7D%0A%0A%09public Stri
@@ -1321,32 +1321,190 @@
 nailFileId;%0A%09%7D%0A%0A
+%09public Long getProjectId() %7B%0A%09%09return projectId;%0A%09%7D%0A%0A%09public String getItemId() %7B%0A%09%09return itemId;%0A%09%7D%0A%0A%09public String getLaunchId() %7B%0A%09%09return launchId;%0A%09%7D%0A%0A
 %09public static f
@@ -1600,16 +1600,94 @@
 lFileId;
+%0A%09%09private Long projectId;%0A%09%09private String itemId;%0A%09%09private String launchId;
 %0A%0A%09%09priv
@@ -2085,32 +2085,377 @@
 turn this;%0A%09%09%7D%0A%0A
+%09%09public BinaryDataMetaInfoBuilder withProjectId(Long projectId) %7B%0A%09%09%09this.projectId = projectId;%0A%09%09%09return this;%0A%09%09%7D%0A%0A%09%09public BinaryDataMetaInfoBuilder withItemId(String itemId) %7B%0A%09%09%09this.itemId = itemId;%0A%09%09%09return this;%0A%09%09%7D%0A%0A%09%09public BinaryDataMetaInfoBuilder withLaunchId(String launchId) %7B%0A%09%09%09this.launchId = launchId;%0A%09%09%09return this;%0A%09%09%7D%0A%0A
 %09%09public BinaryD
@@ -2532,16 +2532,45 @@
 ilFileId
+, projectId, itemId, launchId
 );%0A%09%09%7D%0A%09

extend BinaryDataMetaInfo