public interface  org.finos.legend.engine.external.format.json.write.IJsonWriter extends java.lang.Object
{
public abstract void setTypeWriter(boolean, java.lang.String, boolean);
public abstract void setIncludeEnumType(boolean);
public abstract void setDateTimeFormat(java.lang.String);
public abstract void setRemovePropertiesWithEmptySets(boolean);
public abstract void setRemovePropertiesWithNullValues(boolean);
public abstract void startObject(java.lang.String);
public abstract void writeBooleanProperty(java.lang.String, boolean);
public abstract void writeBooleanProperty(java.lang.String, java.lang.Boolean);
public abstract void writeBooleanProperty(java.lang.String, java.util.List);
public abstract void writeIntegerProperty(java.lang.String, long);
public abstract void writeIntegerProperty(java.lang.String, java.lang.Long);
public abstract void writeIntegerProperty(java.lang.String, java.util.List);
public abstract void writeFloatProperty(java.lang.String, double);
public abstract void writeFloatProperty(java.lang.String, java.lang.Double);
public abstract void writeFloatProperty(java.lang.String, java.util.List);
public abstract void writeDecimalProperty(java.lang.String, java.math.BigDecimal);
public abstract void writeDecimalProperty(java.lang.String, java.util.List);
public abstract void writeNumberProperty(java.lang.String, java.lang.Number);
public abstract void writeNumberProperty(java.lang.String, java.util.List);
public abstract void writeStringProperty(java.lang.String, java.lang.String);
public abstract void writeStringProperty(java.lang.String, java.util.List);
public abstract void writeStrictDateProperty(java.lang.String, org.finos.legend.engine.plan.dependencies.domain.date.PureDate);
public abstract void writeStrictDateProperty(java.lang.String, java.util.List);
public abstract void writeDateTimeProperty(java.lang.String, org.finos.legend.engine.plan.dependencies.domain.date.PureDate);
public abstract void writeDateTimeProperty(java.lang.String, java.util.List);
public abstract void writeDateProperty(java.lang.String, org.finos.legend.engine.plan.dependencies.domain.date.PureDate);
public abstract void writeDateProperty(java.lang.String, java.util.List);
public abstract void writeEnumProperty(java.lang.String, java.lang.String, java.lang.String);
public abstract void writeEnumProperty(java.lang.String, java.lang.String, java.util.List);
public abstract void writeUnitProperty(java.lang.String, java.lang.String, java.lang.Number);
public abstract void writeUnitProperty(java.lang.String, java.lang.String, java.util.List);
public abstract void writeComplexProperty(java.lang.String, java.lang.Object, java.util.function.Consumer);
public abstract void writeComplexProperty(java.lang.String, java.util.List, java.util.function.Consumer);
public abstract void endObject();
}