ExternalLink.java
/*
* The coLAB project
* Copyright (C) 2021-2023 AlbaSim, MEI, HEIG-VD, HES-SO
*
* Licensed under the MIT License
*/
package ch.colabproject.colab.api.model.document;
import ch.colabproject.colab.api.exceptions.ColabMergeException;
import ch.colabproject.colab.api.model.ColabEntity;
import ch.colabproject.colab.api.model.tools.EntityHelper;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.validation.constraints.Size;
/**
* Document referenced by a link to an external system
*
* @author sandra
*/
@Entity
@DiscriminatorValue("EXT_LINK")
public class ExternalLink extends Document {
private static final long serialVersionUID = 1L;
// ---------------------------------------------------------------------------------------------
// fields
// ---------------------------------------------------------------------------------------------
/**
* The link to access the document
*/
@Size(max = 255)
private String url;
// ---------------------------------------------------------------------------------------------
// getters and setters
// ---------------------------------------------------------------------------------------------
/**
* @return the link to access the document
*/
public String getUrl() {
return url;
}
/**
* @param url the link to access the document to set
*/
public void setUrl(String url) {
this.url = url;
}
// ---------------------------------------------------------------------------------------------
// concerning the whole class
// ---------------------------------------------------------------------------------------------
@Override
public void mergeToUpdate(ColabEntity other) throws ColabMergeException {
super.mergeToUpdate(other);
if (other instanceof ExternalLink) {
ExternalLink o = (ExternalLink) other;
this.setUrl(o.getUrl());
} else {
throw new ColabMergeException(this, other);
}
}
@Override
public int hashCode() {
return EntityHelper.hashCode(this);
}
@Override
@SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
public boolean equals(Object obj) {
return EntityHelper.equals(this, obj);
}
@Override
public String toString() {
return "ExternalDocLink{" + super.toPartialString() + ", url=" + url + "}";
}
}