com.bld.commons.utils.json.annotations.Base64File Maven / Gradle / Ivy
/**
* @author Francesco Baldi
* @mail [email protected]
* @class bld.commons.json.annotations.JsonFile.java
*/
package com.bld.commons.utils.json.annotations;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import com.bld.commons.utils.json.annotations.deserialize.Base64FileDeserializer;
import com.bld.commons.utils.json.annotations.serialize.Base64FileSerializer;
import com.bld.commons.utils.types.MimeType;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* The Interface JsonFile.
*/
@Retention(RUNTIME)
@Target({ FIELD, METHOD,PARAMETER })
@JacksonAnnotationsInside
@JsonDeserialize(using = Base64FileDeserializer.class)
@JsonSerialize(using = Base64FileSerializer.class)
@JsonInclude(Include.NON_NULL)
public @interface Base64File {
/**
* Mime type.
*
* @return the mime type
*/
public MimeType mimeType() default MimeType.none;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy