String uuid = UUID.randomUUID().toString();
singleValueMap.put(valueFactory.createValue(uuid, PropertyType.REFERENCE), "\"ref:" +uuid+ '\"');
singleValueMap.put(valueFactory.createValue(uuid, PropertyType.WEAKREFERENCE), "\"wea:" +uuid+ '\"');
CoreValue binary = valueFactory.createValue(new ByteArrayInputStream("123".getBytes()));
singleValueMap.put(binary, "\"bin:"+ binary.getString()+ '\"');
// multi valued properties
mvValueMap = new HashMap<String, List<CoreValue>>();
mvValueMap.put("[]", Collections.<CoreValue>emptyList());
List<CoreValue> strValues = new ArrayList<CoreValue>();
strValues.add(valueFactory.createValue("abc"));
strValues.add(valueFactory.createValue("a:bc"));
strValues.add(valueFactory.createValue("boo:abc"));
strValues.add(valueFactory.createValue("str:abc"));
strValues.add(valueFactory.createValue("str:"));
mvValueMap.put("[\"abc\",\"a:bc\",\"str:boo:abc\",\"str:str:abc\",\"str:str:\"]", strValues);
List<CoreValue> boValues = new ArrayList<CoreValue>();
boValues.add(valueFactory.createValue(true));
boValues.add(valueFactory.createValue(false));
mvValueMap.put("[true,false]", boValues);
List<CoreValue> longs = new ArrayList<CoreValue>();
longs.add(valueFactory.createValue(1));
longs.add(valueFactory.createValue(2));
longs.add(valueFactory.createValue(3));
mvValueMap.put("[1,2,3]", longs);
List<CoreValue> doubles = new ArrayList<CoreValue>();
doubles.add(valueFactory.createValue(1.23));
mvValueMap.put("[\"dou:1.23\"]", doubles);
List<CoreValue> decimals = new ArrayList<CoreValue>();
decimals.add(valueFactory.createValue(decimal));
decimals.add(valueFactory.createValue(decimal));
mvValueMap.put("[\"dec:" + decimal.toString() + "\",\"dec:" + decimal.toString() + "\"]", decimals);
List<CoreValue> dates = Collections.singletonList(valueFactory.createValue("2012-05-01T12:00.000:00GMT", PropertyType.DATE));
mvValueMap.put("[\"dat:2012-05-01T12:00.000:00GMT\"]", dates);
List<CoreValue> names = Collections.singletonList(valueFactory.createValue("jcr:primaryType", PropertyType.NAME));
mvValueMap.put("[\"nam:jcr:primaryType\"]", names);
List<CoreValue> paths = new ArrayList<CoreValue>();
paths.add(valueFactory.createValue("/jcr:system", PropertyType.PATH));
paths.add(valueFactory.createValue("../../content", PropertyType.PATH));
mvValueMap.put("[\"pat:/jcr:system\",\"pat:../../content\"]", paths);
List<CoreValue> uris = Collections.singletonList(valueFactory.createValue("http://jackrabbit.apache.org", PropertyType.URI));
mvValueMap.put("[\"uri:http://jackrabbit.apache.org\"]", uris);
List<CoreValue> refs = new ArrayList<CoreValue>();
refs.add(valueFactory.createValue(uuid, PropertyType.REFERENCE));
mvValueMap.put("[\"ref:" +uuid+ "\"]", refs);
List<CoreValue> wr = new ArrayList<CoreValue>();
wr.add(valueFactory.createValue(uuid, PropertyType.WEAKREFERENCE));
mvValueMap.put("[\"wea:" +uuid+ "\"]", wr);
mvValueMap.put("[\"bin:"+ binary.getString()+ "\"]", Collections.singletonList(binary));
}