ResourceCreationData.java
/*
* The coLAB project
* Copyright (C) 2021-2023 AlbaSim, MEI, HEIG-VD, HES-SO
*
* Licensed under the MIT License
*/
package ch.colabproject.colab.api.rest.document.bean;
import ch.colabproject.colab.api.model.document.Document;
import ch.colabproject.colab.api.model.document.TextDataBlock;
import ch.colabproject.colab.generator.model.annotations.ExtractJavaDoc;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
/**
* Bean with everything needed to create a resource
*
* @author sandra
*/
@ExtractJavaDoc
public class ResourceCreationData implements Serializable {
private static final long serialVersionUID = 1L;
// ---------------------------------------------------------------------------------------------
// fields
// ---------------------------------------------------------------------------------------------
/**
* The title of the resource
*/
private String title;
/**
* The teaser of the resource
*/
private TextDataBlock teaser;
/**
* The category of the resource
*/
private String category;
/**
* The abstract card type id
*/
private Long abstractCardTypeId;
/**
* The card id
*/
private Long cardId;
/**
* The card content id
*/
private Long cardContentId;
/**
* Is it at the disposal of the inheritors
*/
private boolean published;
/**
* The document
*/
private List<Document> documents = new ArrayList<>();
// ---------------------------------------------------------------------------------------------
// getters and setters
// ---------------------------------------------------------------------------------------------
/**
* @return the title
*/
public String getTitle() {
return title;
}
/**
* @param title the title
*/
public void setTitle(String title) {
this.title = title;
}
/**
* @return the teaser
*/
public TextDataBlock getTeaser() {
return teaser;
}
/**
* @param teaser the teaser
*/
public void setTeaser(TextDataBlock teaser) {
this.teaser = teaser;
}
/**
* @return the category
*/
public String getCategory() {
return category;
}
/**
* @param category the category
*/
public void setCategory(String category) {
this.category = category;
}
/**
* @return the abstractCardTypeId
*/
public Long getAbstractCardTypeId() {
return abstractCardTypeId;
}
/**
* @param abstractCardTypeId the abstractCardTypeId
*/
public void setAbstractCardTypeId(Long abstractCardTypeId) {
this.abstractCardTypeId = abstractCardTypeId;
}
/**
* @return the cardId
*/
public Long getCardId() {
return cardId;
}
/**
* @param cardId the cardId
*/
public void setCardId(Long cardId) {
this.cardId = cardId;
}
/**
* @return the cardContentId
*/
public Long getCardContentId() {
return cardContentId;
}
/**
* @param cardContentId the cardContentId
*/
public void setCardContentId(Long cardContentId) {
this.cardContentId = cardContentId;
}
/**
* @return if it is at the disposal of the inheritors
*/
public boolean isPublished() {
return published;
}
/**
* @param published if it is at the disposal of the inheritors
*/
public void setPublished(boolean published) {
this.published = published;
}
/**
* @return the documents
*/
public List<Document> getDocuments() {
return documents;
}
/**
* @param documents the documents
*/
public void setDocuments(List<Document> documents) {
this.documents = documents;
}
// ---------------------------------------------------------------------------------------------
// concerning the whole class
// ---------------------------------------------------------------------------------------------
@Override
public int hashCode() {
return new HashCodeBuilder()
.append(this.title)
.append(this.category)
.append(this.abstractCardTypeId)
.append(this.cardId)
.append(this.cardContentId)
.append(this.published)
.toHashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final ResourceCreationData other = (ResourceCreationData) obj;
return new EqualsBuilder()
.append(this.title, other.title)
.append(this.category, other.category)
.append(this.abstractCardTypeId, other.abstractCardTypeId)
.append(this.cardId, other.cardId)
.append(this.cardContentId, other.cardContentId)
.append(this.published, other.published)
.isEquals();
}
@Override
public String toString() {
return "ResourceCreationData{" + "title=" + title + ", category=" + category
+ ", abstractCardTypeId=" + abstractCardTypeId + ", cardId=" + cardId
+ ", cardContentId=" + cardContentId + ", published=" + published + "}";
}
}