public String serialize() { StringBuilder builder = new StringBuilder(); if (getItems() == null) { return ""; } for (KeyValueLineModel keyValueLineModel : (List<KeyValueLineModel>) getItems()) { String key = keyValueLineModel.getKeys().getSelectedItem(); if (!isKeyValid(key)) { continue; } builder.append(key); builder.append(KEY_VALUE_DELIMETER); if (keyValueLineModel.getValue().getIsAvailable()) { builder.append(keyValueLineModel.getValue().getEntity()); } else if (keyValueLineModel.getValues().getIsAvailable()) { builder.append(keyValueLineModel.getValues().getSelectedItem()); } builder.append(PROPERTIES_DELIMETER); } // remove the last delimiter if (builder.toString().endsWith(PROPERTIES_DELIMETER)) { return builder.subSequence(0, builder.length() - PROPERTIES_DELIMETER.length()).toString(); } return builder.toString(); }
@Override protected void setValueByKey(KeyValueLineModel lineModel, String key) { if (allRegExKeys.containsKey(key)) { lineModel.getValues().setSelectedItem(keyValueMap_used.get(key)); } else { lineModel.getValue().setEntity(keyValueMap_used.get(key)); } }
@Override protected void initLineModel(KeyValueLineModel keyValueLineModel, String key) { if (isKeyValid(key)) { boolean constrainedValue = allRegExKeys.containsKey(key); keyValueLineModel.getValue().setIsAvailable(!constrainedValue); keyValueLineModel.getValues().setIsAvailable(constrainedValue); if (constrainedValue) { keyValueLineModel.getValues().setItems(allRegExKeys.get(key)); } } else { keyValueLineModel.getValue().setIsAvailable(false); keyValueLineModel.getValues().setIsAvailable(false); keyValueLineModel.getValue().setEntity(""); keyValueLineModel.getValues().setSelectedItem(null); keyValueLineModel.getValues().setItems(null); } }