information-system-model/src/main/java/org/gcube/informationsystem/base/impl/entities/BaseEntityImpl.java

53 lines
1.2 KiB
Java

package org.gcube.informationsystem.base.impl.entities;
import java.io.StringWriter;
import org.gcube.informationsystem.base.impl.ERImpl;
import org.gcube.informationsystem.base.reference.entities.BaseEntity;
import org.gcube.informationsystem.base.reference.properties.Header;
import org.gcube.informationsystem.model.reference.entities.Entity;
import org.gcube.informationsystem.utils.ISMapper;
import com.fasterxml.jackson.annotation.JsonTypeName;
@JsonTypeName(value=BaseEntity.NAME)
public abstract class BaseEntityImpl extends ERImpl implements Entity {
/**
* Generated Serial Version UID
*/
private static final long serialVersionUID = -4488771434017342703L;
protected BaseEntityImpl(){
super();
this.header = null;
}
@Override
public Header getHeader() {
return header;
}
@Override
public void setHeader(Header header){
this.header = header;
}
@Override
public String toString(){
StringWriter stringWriter = new StringWriter();
try {
ISMapper.marshal(this, stringWriter);
return stringWriter.toString();
}catch(Exception e){
try {
ISMapper.marshal(this.header, stringWriter);
return stringWriter.toString();
} catch(Exception e1){
return super.toString();
}
}
}
}