Any functions
getFieldNamed(any value, string fieldName)
- This function takes in an
anyvalue 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
anyvalue 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
anyvalue 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
anyvalue and returns a list ofMapEntry<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}]