diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayAppend.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayAppend.java index 109d847dc..9719609c8 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayAppend.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayAppend.java @@ -47,6 +47,9 @@ public class ArrayAppend { public static final IFunction SIGNATURE = IFunction.builder() .name("append") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayFlatten.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayFlatten.java index 0ced0bf9c..0c1fa01c3 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayFlatten.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayFlatten.java @@ -45,6 +45,9 @@ public class ArrayFlatten { static final IFunction SIGNATURE = IFunction.builder() .name("flatten") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("input") .type(IItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayGet.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayGet.java index 2e66a0aff..75239139d 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayGet.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayGet.java @@ -48,6 +48,9 @@ public class ArrayGet { public static final IFunction SIGNATURE = IFunction.builder() .name("get") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayHead.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayHead.java index af5a4ba9a..afc12993c 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayHead.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayHead.java @@ -47,6 +47,9 @@ public class ArrayHead { static final IFunction SIGNATURE = IFunction.builder() .name("head") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayInsertBefore.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayInsertBefore.java index 36227f8f2..0893111e5 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayInsertBefore.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayInsertBefore.java @@ -48,6 +48,9 @@ public class ArrayInsertBefore { public static final IFunction SIGNATURE = IFunction.builder() .name("insert-before") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayJoin.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayJoin.java index ffe8ced15..a64a4cb0a 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayJoin.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayJoin.java @@ -48,6 +48,9 @@ public class ArrayJoin { public static final IFunction SIGNATURE = IFunction.builder() .name("join") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayPut.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayPut.java index c10e1dacf..d387f9142 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayPut.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayPut.java @@ -49,6 +49,9 @@ public class ArrayPut { public static final IFunction SIGNATURE = IFunction.builder() .name("put") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayRemove.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayRemove.java index 6cb62fcce..2565a9668 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayRemove.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayRemove.java @@ -52,6 +52,9 @@ public class ArrayRemove { public static final IFunction SIGNATURE = IFunction.builder() .name("remove") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayReverse.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayReverse.java index b83e4a6a0..be29f2900 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayReverse.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayReverse.java @@ -48,6 +48,9 @@ public class ArrayReverse { public static final IFunction SIGNATURE = IFunction.builder() .name("reverse") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySize.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySize.java index cad553484..26370a45c 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySize.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySize.java @@ -46,6 +46,9 @@ public class ArraySize { static final IFunction SIGNATURE = IFunction.builder() .name("size") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySubarray.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySubarray.java index e8b3326e3..73289332b 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySubarray.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArraySubarray.java @@ -49,6 +49,9 @@ public class ArraySubarray { public static final IFunction SIGNATURE_TWO_ARG = IFunction.builder() .name("subarray") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) @@ -67,6 +70,9 @@ public class ArraySubarray { public static final IFunction SIGNATURE_THREE_ARG = IFunction.builder() .name("subarray") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayTail.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayTail.java index 6f5d1fe53..bc8be37f6 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayTail.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/ArrayTail.java @@ -46,6 +46,9 @@ public class ArrayTail { static final IFunction SIGNATURE = IFunction.builder() .name("tail") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS_ARRAY) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("array") .type(IArrayItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/CastFunction.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/CastFunction.java index 6af3c8230..7a08f52fb 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/CastFunction.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/CastFunction.java @@ -75,6 +75,9 @@ static IFunction signature( return IFunction.builder() .name(name) .namespace(namespace) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("arg1") .type(IAnyAtomicItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStartsWith.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStartsWith.java index b07098495..43faba83d 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStartsWith.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStartsWith.java @@ -47,6 +47,9 @@ public final class FnStartsWith { static final IFunction SIGNATURE = IFunction.builder() .name("starts-with") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS) + .deterministic() + .contextDependent() + .focusIndependent() .argument(IArgument.builder() .name("arg1").type(IStringItem.class) .zeroOrOne() diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStaticBaseUri.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStaticBaseUri.java index 1fc6a1b73..9e5565fdf 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStaticBaseUri.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/FnStaticBaseUri.java @@ -46,6 +46,9 @@ public final class FnStaticBaseUri { static final IFunction SIGNATURE = IFunction.builder() .name("static-base-uri") .namespace(MetapathConstants.NS_METAPATH_FUNCTIONS) + .deterministic() + .contextDependent() + .focusIndependent() .argument(IArgument.builder() .name("arg1") .type(IStringItem.class) diff --git a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/NumericFunction.java b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/NumericFunction.java index ddbb03df6..076bb9064 100644 --- a/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/NumericFunction.java +++ b/core/src/main/java/gov/nist/secauto/metaschema/core/metapath/function/library/NumericFunction.java @@ -63,6 +63,9 @@ static IFunction signature(@NonNull String namespace, @NonNull String name, @Non return IFunction.builder() .name(name) .namespace(namespace) + .deterministic() + .contextIndependent() + .focusIndependent() .argument(IArgument.builder() .name("arg1") .type(INumericItem.class)