All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.netgrid.bauer.impl.GsonNamingStrategy Maven / Gradle / Ivy

package it.netgrid.bauer.impl;

import java.lang.annotation.Annotation;
import java.lang.reflect.Field;

import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;

import com.google.gson.FieldNamingStrategy;

public class GsonNamingStrategy implements FieldNamingStrategy {

    @Override
    public String translateName(Field paramField) {

        Annotation annotationName = null;

        if(null != (annotationName = paramField.getAnnotation(XmlElement.class))){
            return ((XmlElement) annotationName).name();
        }else if(null != (annotationName = paramField.getAnnotation(XmlAttribute.class))){
            return ((XmlAttribute)annotationName).name();
        }
        return paramField.getName();
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy