1 package org.matsim.utils.objectattributes.attributeconverters;
5 import java.util.Map.Entry;
13 import com.fasterxml.jackson.core.JsonProcessingException;
14 import com.fasterxml.jackson.databind.JavaType;
15 import com.fasterxml.jackson.databind.ObjectMapper;
16 import com.fasterxml.jackson.databind.ObjectWriter;
17 import com.fasterxml.jackson.databind.type.CollectionType;
18 import com.fasterxml.jackson.databind.type.TypeFactory;
35 TypeFactory typeFactory = TypeFactory.defaultInstance();
36 JavaType linkIdType = typeFactory.constructParametricType(
Id.class,
Link.class);
37 CollectionType linkIdsType = typeFactory.constructCollectionType(List.class, linkIdType);
38 CollectionType linkIdsListType = typeFactory.constructCollectionType(List.class, linkIdsType);
39 LINK_IDS_LIST_MAP_TYPE = typeFactory.constructMapType(Map.class, typeFactory.constructType(String.class),
41 OBJECT_WRITER = OBJECT_MAPPER.writerFor(LINK_IDS_LIST_MAP_TYPE);
46 Map<String, List<List<Id<Link>>>> linkIdSequencesMap;
48 linkIdSequencesMap = OBJECT_MAPPER.readValue(value, LINK_IDS_LIST_MAP_TYPE);
49 }
catch (JsonProcessingException e) {
54 for (Entry<String, List<List<
Id<Link>>>> entry : linkIdSequencesMap.entrySet()) {
55 String mode = entry.getKey();
56 for (List<
Id<Link>> linkIdList : entry.getValue()) {
67 return OBJECT_WRITER.writeValueAsString(dnl.getAsMap());
68 }
catch (JsonProcessingException e) {
72 throw new IllegalArgumentException();
static final JavaType LINK_IDS_LIST_MAP_TYPE
String convertToString(Object o)
static final ObjectMapper OBJECT_MAPPER
boolean addDisallowedLinkSequence(String mode, List< Id< Link >> linkSequence)
static Module getInstance()
DisallowedNextLinks convert(String value)
static final ObjectWriter OBJECT_WRITER