1 package iotruntime.master;
3 // Java standard libraries
4 import java.util.ArrayList;
5 import java.util.HashMap;
9 /** Class ObjectAddressInitHandler is a class that maintains
10 * a data structure that preserves a collection information
11 * for creation and re-initialization of driver object's IoTSet
12 * that usually contains IoTDeviceAddress, IoTZigbeeAddress,
13 * or IoTAddress. These are read from the database when we
14 * instrument the fields for policy generation.
16 * +------------+-----------------------------+
17 * | FIELD_NAME | ARRAYLIST OF arrFieldValues |
18 * +------------+-----------------------------+
19 * | XXXXXXXXXX | #1 | XXXXX |
26 * +------------+-----------------------------+
27 * | XXXXXXXXXX | #1 | XXXXX |
34 * +------------+-----------------------------+
36 * @author Rahmadi Trimananda <rahmadi.trimananda @ uci.edu>
40 public final class ObjectAddressInitHandler {
44 * ObjectInitHandler class properties
46 private Map<String, List<Object[]>> mapFieldToValuesList;
47 private boolean bVerbose;
53 public ObjectAddressInitHandler(boolean _bVerbose) {
55 mapFieldToValuesList = new HashMap<String, List<Object[]>>();
57 RuntimeOutput.print("ObjectAddressInitHandler: Creating a new ObjectAddressInitHandler object!", bVerbose);
65 * @param strFieldAndObjectID String field name + object ID
66 * @param arrFieldValues Array field values object
69 public void addField(String strFieldAndObjectID, Object[] arrFieldValues) {
72 // Add a new list if this is a new field+object ID
73 if (!mapFieldToValuesList.containsKey(strFieldAndObjectID)) {
74 mapFieldToValuesList.put(strFieldAndObjectID, new ArrayList<Object[]>());
76 List<Object[]> listField = mapFieldToValuesList.get(strFieldAndObjectID);
77 listField.add(arrFieldValues);
85 * @param strFieldAndObjectID String field name + object ID
88 public List<Object[]> getFields(String strFieldAndObjectID) {
90 return mapFieldToValuesList.get(strFieldAndObjectID);