Project project = CreateTestProjectWithCustomField(); Task task = project.getRootTask().getChildren().getById(1); ExtendedAttributeDefinition numberDefinition = ExtendedAttributeDefinition.createTaskDefinition(ExtendedAttributeTask.Number1, null); project.getExtendedAttributes().add(numberDefinition); ExtendedAttribute numberAttribute = numberDefinition.createExtendedAttribute(); task.getExtendedAttributes().add(numberAttribute); // Set ProjDateDiff formula and print extended attribute value numberDefinition.setFormula("ProjDateDiff(\"03/23/2015\",\"03/18/2015\")"); System.out.println(task.getExtendedAttributes().get(0).getNumericValue()); numberDefinition.setFormula("ProjDateDiff(\"03/23/2015\",\"03/25/2015\")"); System.out.println(task.getExtendedAttributes().get(0).getNumericValue()); ExtendedAttributeDefinition dateDefinition = ExtendedAttributeDefinition.createTaskDefinition(ExtendedAttributeTask.Date1, null); project.getExtendedAttributes().add(dateDefinition); ExtendedAttribute dateAttribute = dateDefinition.createExtendedAttribute(); task.getExtendedAttributes().add(dateAttribute); ExtendedAttributeDefinition durationDefinition = ExtendedAttributeDefinition.createTaskDefinition(ExtendedAttributeTask.Duration4, "Custom duration field"); project.getExtendedAttributes().add(durationDefinition); ExtendedAttribute durationAttribute = durationDefinition.createExtendedAttribute(); task.getExtendedAttributes().add(durationAttribute); ExtendedAttributeDefinition textDefinition = ExtendedAttributeDefinition.createTaskDefinition(ExtendedAttributeTask.Text5, "Custom text field"); project.getExtendedAttributes().add(textDefinition); ExtendedAttribute textAttribute = textDefinition.createExtendedAttribute(); task.getExtendedAttributes().add(textAttribute); // Set ProjDateSub formula and print extended attribute value dateDefinition.setFormula("ProjDateSub(\"3/19/2015\", \"1d\")"); System.out.println(dateAttribute.getDateValue()); // We can set ProjDurConv formula to duration-valued attribute as well as to text-valued attribute. // Set ProjDurConv formula to duration-valued extended attribute and print its value. durationDefinition.setFormula("ProjDurConv([Duration], pjHours)"); System.out.println(durationAttribute.getDurationValue()); // Set ProjDurConv formula to text-valued extended attribute and print its value. textDefinition.setFormula("ProjDurConv([Duration], pjHours)"); System.out.println(task.getExtendedAttributes().get(0).getTextValue()); textDefinition.setFormula("ProjDurConv([Duration], pjWeeks)"); System.out.println(task.getExtendedAttributes().get(0).getTextValue()); // Set Second formula and print entended attribute value numberDefinition.setFormula("Second(\"4/21/2015 2:53:41 AM\")"); System.out.println(task.getExtendedAttributes().get(0).getNumericValue()); // Set Weekday formula and print entended attribute value numberDefinition.setFormula("Weekday(\"24/3/2015\", 1)"); System.out.println(task.getExtendedAttributes().get(0).getNumericValue()); numberDefinition.setFormula("Weekday(\"24/3/2015\", 2)"); System.out.println(task.getExtendedAttributes().get(0).getNumericValue()); numberDefinition.setFormula("Weekday(\"24/3/2015\", 3)"); System.out.println(task.getExtendedAttributes().get(0).getNumericValue());