package com.fasterxml.jackson.databind.ser; import java.util.*; import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; /** * This unit test suite verifies that static fields and methods are * ignored wrt serialization */ public class TestStatics extends BaseMapTest { /* /********************************************************** /* Annotated helper classes /********************************************************** */ final static class FieldBean { public int x = 1; public static int y = 2; // not even @JsonProperty should make statics usable... @JsonProperty public static int z = 3; } final static class GetterBean { public int getX() { return 3; } public static int getA() { return -3; } // not even @JsonProperty should make statics usable... @JsonProperty public static int getFoo() { return 123; } } /* /********************************************************** /* Unit tests /********************************************************** */ public void testStaticFields() throws Exception { ObjectMapper m = new ObjectMapper(); Map<String,Object> result = writeAndMap(m, new FieldBean()); assertEquals(1, result.size()); assertEquals(Integer.valueOf(1), result.get("x")); } public void testStaticMethods() throws Exception { ObjectMapper m = new ObjectMapper(); Map<String,Object> result = writeAndMap(m, new GetterBean()); assertEquals(1, result.size()); assertEquals(Integer.valueOf(3), result.get("x")); } }