package org.librecms.contentsection; import com.arsdigita.cms.BinaryAsset; import com.arsdigita.kernel.KernelConfig; import com.fasterxml.jackson.core.JsonGenerator; import java.io.IOException; /** * * @author Jens Pelzetter * @param */ public abstract class AbstractBinaryAssetsExporter extends AbstractAssetsExporter{ @Override protected final void exportAssetProperties( final T asset, final JsonGenerator jsonGenerator) throws IOException{ jsonGenerator.writeObjectFieldStart("description"); jsonGenerator.writeStringField( KernelConfig.getConfig().getDefaultLanguage(), asset.getDescription()); jsonGenerator.writeEndObject(); jsonGenerator.writeStringField("mimeType", asset.getMimeType().toString()); jsonGenerator.writeStringField("fileName", asset.getName()); jsonGenerator.writeBinaryField("data", asset.getContent()); jsonGenerator.writeNumberField("size", asset.getSize()); exportBinaryAssetProperties(asset, jsonGenerator); } protected abstract void exportBinaryAssetProperties( final T asset, final JsonGenerator jsonGenerator) throws IOException; }