public int add(String type, Object o) { ObjectIdentityOrdinalMap identityOrdinalMap = getIdentityOrdinalMap(type); Entry entry = identityOrdinalMap.getEntry(o); if(entry != null) { return entry.getOrdinal(); } NFTypeSerializer<Object> serializer = getSerializer(type); int ordinal = add(type, o, serializer); identityOrdinalMap.put(o, ordinal); return ordinal; }
@Test public void test() { for(int i=0;i<obj.length;i++) { obj[i] = new Object(); } ObjectIdentityOrdinalMap ordinalMap = new ObjectIdentityOrdinalMap(); for(int i=0;i<obj.length;i++) { ordinalMap.put(obj[i], i); } for(int i=0;i<obj.length;i++) { Assert.assertEquals(ordinalMap.getEntry(obj[i]).getOrdinal(), i); } }