Skip to main content

Any functions

getFieldNamed(any value, string fieldName)

  • This function takes in an any value and a string value and returns the value of the field with the given name
  • If the field does not exist, it returns null
  • Note that the return type is any
def any value  = {
name: "John",
age: 30
};
def any fieldValue1 = getFieldNamed(value, "name"); // fieldValue1 = "John"
def any fieldValue2 = getFieldNamed(value, "age"); // fieldValue2 = 30
def any fieldValue3 = getFieldNamed(value, "city"); // fieldValue3 = null
def any fieldValue4 = value.getFieldNamed( "name"); // fieldValue4 = "John"
def any fieldValue5 = value.getFieldNamed( "age"); // fieldValue5 = 30
def any fieldValue6 = value.getFieldNamed( "city"); // fieldValue6 = null
def Employee employee = new Employee();
employee.name = "John";
employee.age = 30;
def any anyEmployee = employee;
def any fieldValue1 = getFieldNamed(anyEmployee, "name"); // fieldValue1 = "John"
def any fieldValue2 = getFieldNamed(anyEmployee, "age"); // fieldValue2 = 30
def any fieldValue3 = getFieldNamed(anyEmployee, "city"); // fieldValue3 = null
def any fieldValue4 = anyEmployee.getFieldNamed( "name"); // fieldValue4 = "John"
def any fieldValue5 = anyEmployee.getFieldNamed( "age"); // fieldValue5 = 30
def any fieldValue6 = anyEmployee.getFieldNamed( "city"); // fieldValue6 = null

hasFieldNamed(any value, string fieldName)

  • This function takes in an any value and a string value and returns a boolean indicating if the value has a field with the given name
  • If the field does not exist, it returns false
def any value  = {
name: "John",
age: 30
};
def boolean hasField1 = hasFieldNamed(value, "name"); // hasField1 = true
def boolean hasField2 = hasFieldNamed(value, "age"); // hasField2 = true
def boolean hasField3 = hasFieldNamed(value, "city"); // hasField3 = false
def boolean hasField4 = value.hasFieldNamed( "name"); // hasField4 = true
def boolean hasField5 = value.hasFieldNamed( "age"); // hasField5 = true
def boolean hasField6 = value.hasFieldNamed( "city"); // hasField6 = false
def Employee employee = new Employee();
employee.name = "John";
employee.age = 30;
def any anyEmployee = employee;
def boolean hasField1 = hasFieldNamed(anyEmployee, "name"); // hasField1 = true
def boolean hasField2 = hasFieldNamed(anyEmployee, "age"); // hasField2 = true
def boolean hasField3 = hasFieldNamed(anyEmployee, "city"); // hasField3 = false
def boolean hasField4 = anyEmployee.hasFieldNamed( "name"); // hasField4 = true
def boolean hasField5 = anyEmployee.hasFieldNamed( "age"); // hasField5 = true
def boolean hasField6 = anyEmployee.hasFieldNamed( "city"); // hasField6 = false

getFieldAtIndex(any value, int index)

  • This function takes in an any value and an integer value and returns the value of the field at the given index
  • If the index is out of bounds, it returns null
  • Note that the return type is any
def any value  = [
"John",
"Doe",
"Jane"
];
def any fieldValue1 = getFieldAtIndex(value, 1); // fieldValue1 = "John"
def any fieldValue2 = getFieldAtIndex(value, 2); // fieldValue2 = "Doe"
def any fieldValue3 = getFieldAtIndex(value, 3); // fieldValue3 = "Jane"
def any fieldValue4 = value.getFieldAtIndex(1); // fieldValue4 = "John"
def any fieldValue5 = value.getFieldAtIndex(2); // fieldValue5 = "Doe"
def any fieldValue6 = value.getFieldAtIndex(3); // fieldValue6 = "Jane"
def List<int> numbers = [
2,3,5,8
];
def any anyNumbers = numbers;
def any fieldValue1 = getFieldAtIndex(anyNumbers, 1); // fieldValue1 = 2
def any fieldValue2 = getFieldAtIndex(anyNumbers, 2); // fieldValue2 = 3
def any fieldValue3 = getFieldAtIndex(anyNumbers, 5); // throws an error
def any fieldValue4 = anyNumbers.getFieldAtIndex(1); // fieldValue4 = 2
def any fieldValue5 = anyNumbers.getFieldAtIndex(2); // fieldValue5 = 3
def any fieldValue6 = anyNumbers.getFieldAtIndex(5); // throws an error

getAllFields(any value)

  • This function takes in an any value and returns a list of MapEntry<string, any> containing all the fields and their corresponding values
def any value  = {
name: "John",
age: 30
};
def List<MapEntry<string, any>> allFields1 = getAllFields(value); // allFields1 = [{name: "John"}, {age: 30}]
def List<MapEntry<string, any>> allFields2 = value.getAllFields(); // allFields2 = [{name: "John"}, {age: 30}]
def Employee employee = new Employee();
employee.name = "John";
employee.age = 30;
def any anyEmployee = employee;
def List<MapEntry<string, any>> allFields1 = getAllFields(anyEmployee); // allFields1 = [{name: "John"}, {age: 30}]
def List<MapEntry<string, any>> allFields2 = anyEmployee.getAllFields(); // allFields2 = [{name: "John"}, {age: 30}]