2019-10-23 16:55:48 +02:00
|
|
|
package org.gcube.informationsystem.base.impl.entities;
|
2019-10-23 15:40:52 +02:00
|
|
|
|
|
|
|
import java.io.StringWriter;
|
2023-04-18 17:51:23 +02:00
|
|
|
import java.util.UUID;
|
2019-10-23 15:40:52 +02:00
|
|
|
|
2020-07-07 17:04:25 +02:00
|
|
|
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
|
2020-02-03 10:51:29 +01:00
|
|
|
import org.gcube.informationsystem.base.impl.ElementImpl;
|
2020-01-30 10:26:43 +01:00
|
|
|
import org.gcube.informationsystem.base.reference.entities.EntityElement;
|
2023-04-18 17:51:23 +02:00
|
|
|
import org.gcube.informationsystem.model.reference.properties.Metadata;
|
2023-02-03 14:39:25 +01:00
|
|
|
import org.gcube.informationsystem.serialization.ElementMapper;
|
2019-10-23 15:40:52 +02:00
|
|
|
|
2021-01-20 17:03:02 +01:00
|
|
|
/**
|
|
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
|
|
*/
|
2020-01-30 10:26:43 +01:00
|
|
|
@JsonTypeName(value=EntityElement.NAME)
|
2020-02-03 10:51:29 +01:00
|
|
|
public abstract class EntityElementImpl extends ElementImpl implements EntityElement {
|
2019-10-23 15:40:52 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Generated Serial Version UID
|
|
|
|
*/
|
|
|
|
private static final long serialVersionUID = -4488771434017342703L;
|
|
|
|
|
2023-04-18 17:51:23 +02:00
|
|
|
protected UUID uuid;
|
|
|
|
protected Metadata metadata;
|
2020-02-03 10:51:29 +01:00
|
|
|
|
2020-01-30 10:26:43 +01:00
|
|
|
protected EntityElementImpl(){
|
2019-10-23 15:40:52 +02:00
|
|
|
super();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2023-04-28 11:33:29 +02:00
|
|
|
public UUID getID() {
|
2023-04-18 17:51:23 +02:00
|
|
|
return uuid;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2023-04-28 11:33:29 +02:00
|
|
|
public void setID(UUID uuid) {
|
2023-04-18 17:51:23 +02:00
|
|
|
this.uuid = uuid;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Metadata getMetadata() {
|
|
|
|
return metadata;
|
2019-10-23 15:40:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2023-04-18 17:51:23 +02:00
|
|
|
public void setMetadata(Metadata metadata){
|
|
|
|
this.metadata = metadata;
|
2019-10-23 15:40:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String toString(){
|
|
|
|
StringWriter stringWriter = new StringWriter();
|
|
|
|
try {
|
2020-02-03 10:51:29 +01:00
|
|
|
ElementMapper.marshal(this, stringWriter);
|
2019-10-23 15:40:52 +02:00
|
|
|
return stringWriter.toString();
|
|
|
|
}catch(Exception e){
|
|
|
|
try {
|
2023-04-18 17:51:23 +02:00
|
|
|
ElementMapper.marshal(this.metadata, stringWriter);
|
2019-10-23 15:40:52 +02:00
|
|
|
return stringWriter.toString();
|
|
|
|
} catch(Exception e1){
|
|
|
|
return super.toString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|