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