MyAttributeValueFactory { public static MyAttributeValue parseValueFromFunction(URI function, Object param) { String returnType = ""; returnType = returnTypeOfFunction(function); return parseValue(URI.create(returnType), param, null); }  static MyAttributeValue parseValue(URI dataType, Object attributeValue, /*Nullable*/ EnumAllowedValues av); static OperationType operationTypeOfFunction(URI functionAsUri); static String returnTypeOfFunction(URI functionAsUri); static MyAttributeValue parseValueFromFunction(URI function, Object param); static boolean evaulateFunction(URI function, List<MyAttributeValue> arguments);  }
@Test public void testParseValueFromFunction() throws Exception { assertEquals(MyAttributeValueString.class, parseValueFromFunction(stringEqualFunction, "hello") .getClass()); assertEquals(MyAttributeValueDate.class, parseValueFromFunction( new URI("urn:oasis:names:tc:xacml:1.0:function:date-greater-than"), "2010-01-01") .getClass()); }