package org.emfjson.cdo.sample; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import org.eclipse.emf.cdo.CDOObject; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.id.CDOIDUtil; import org.eclipse.emf.cdo.util.CDOUtil; import org.eclipse.emf.ecore.EObject; import org.emfjson.jackson.JacksonOptions; import org.emfjson.jackson.databind.ser.IdSerializer; import java.io.IOException; public class CDOIDSerializer implements IdSerializer { @Override public void serialize(EObject object, JsonGenerator jg, SerializerProvider provider) throws IOException { final JacksonOptions options = (JacksonOptions) provider.getAttribute("options"); final CDOObject cdoObject = CDOUtil.getCDOObject(object); final CDOID cdoid = CDOIDUtil.getCDOID(cdoObject); jg.writeNumberField(options.idField, CDOIDUtil.getLong(cdoid)); } }