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

49 lines
1.0 KiB
Java
Raw Normal View History

/**
*
*/
package org.gcube.informationsystem.base.impl;
2019-10-24 11:26:49 +02:00
import java.io.StringWriter;
2023-04-27 16:30:10 +02:00
import java.util.List;
2019-10-24 11:26:49 +02:00
2020-07-07 17:04:25 +02:00
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
import org.gcube.informationsystem.base.reference.Element;
2023-02-03 14:39:25 +01:00
import org.gcube.informationsystem.serialization.ElementMapper;
import org.gcube.informationsystem.utils.TypeUtility;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@JsonTypeName(value=Element.NAME)
public class ElementImpl implements Element {
/**
* Generated Serial Version UID
*/
private static final long serialVersionUID = 7338083489551084860L;
2019-10-24 11:26:49 +02:00
2023-04-27 16:30:10 +02:00
private List<String> supertypes;
@Override
public String getTypeName() {
return TypeUtility.getTypeName(this.getClass());
}
@Override
public List<String> getSupertypes() {
return this.supertypes;
}
2019-10-24 11:26:49 +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-24 11:26:49 +02:00
return stringWriter.toString();
}catch(Exception e){
return super.toString();
}
}
}