// Path: api/src/main/java/com/jfrog/bintray/client/api/ObjectMapperHelper.java
// public class ObjectMapperHelper {
// 
//     public static ObjectMapper get() {
//         return buildDetailsMapper();
//     }
// 
//     private static ObjectMapper buildDetailsMapper() {
//         ObjectMapper mapper = new ObjectMapper(new JsonFactory());
// 
//         // TODO: when moving to Jackson 2.x these can be replaced with JodaModule
//         mapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
//         mapper.configure(SerializationConfig.Feature.WRITE_DATE_KEYS_AS_TIMESTAMPS, false);
// 
//         //Don't include keys with null values implicitly, only explicitly set values should be sent over
//         mapper.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, false);
//         mapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, false);
//         mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
//         return mapper;
//     }
// }


import com.jfrog.bintray.client.api.ObjectMapperHelper;
import org.codehaus.jackson.annotate.*;
import org.codehaus.jackson.map.ObjectMapper;
import org.joda.time.DateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
    private Integer ratingCount;
    @JsonIgnore
    private List<String> systemIds;
    @JsonProperty(value = "vcs_url")
    private String vcsUrl;
    @JsonIgnore
    private List<Attribute> attributes;

    //All other props that don't have specific fields
    private Map<String, Object> other = new HashMap<>();

    @JsonAnySetter
    public void set(String name, Object value) {
        other.put(name, value);
    }

    @JsonAnyGetter
    public Map<String, Object> other() {
        return other;
    }

    @JsonCreator
    public PackageDetails() {
    }

    public PackageDetails(String name) {
        this.name = name;
    }

    public static ObjectMapper getObjectMapper() {
// Path: api/src/main/java/com/jfrog/bintray/client/api/ObjectMapperHelper.java
// public class ObjectMapperHelper {
// 
//     public static ObjectMapper get() {
//         return buildDetailsMapper();
//     }
// 
//     private static ObjectMapper buildDetailsMapper() {
//         ObjectMapper mapper = new ObjectMapper(new JsonFactory());
// 
//         // TODO: when moving to Jackson 2.x these can be replaced with JodaModule
//         mapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
//         mapper.configure(SerializationConfig.Feature.WRITE_DATE_KEYS_AS_TIMESTAMPS, false);
// 
//         //Don't include keys with null values implicitly, only explicitly set values should be sent over
//         mapper.configure(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY, false);
//         mapper.configure(SerializationConfig.Feature.WRITE_NULL_MAP_VALUES, false);
//         mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
//         return mapper;
//     }
// }


// Path: api/src/main/java/com/jfrog/bintray/client/api/details/PackageDetails.java
import com.jfrog.bintray.client.api.ObjectMapperHelper;
import org.codehaus.jackson.annotate.*;
import org.codehaus.jackson.map.ObjectMapper;
import org.joda.time.DateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

    private Integer ratingCount;
    @JsonIgnore
    private List<String> systemIds;
    @JsonProperty(value = "vcs_url")
    private String vcsUrl;
    @JsonIgnore
    private List<Attribute> attributes;

    //All other props that don't have specific fields
    private Map<String, Object> other = new HashMap<>();

    @JsonAnySetter
    public void set(String name, Object value) {
        other.put(name, value);
    }

    @JsonAnyGetter
    public Map<String, Object> other() {
        return other;
    }

    @JsonCreator
    public PackageDetails() {
    }

    public PackageDetails(String name) {
        this.name = name;
    }

    public static ObjectMapper getObjectMapper() {
        return ObjectMapperHelper.get();