Class UserLifecycleEngine
java.lang.Object
edu.internet2.middleware.grouper.userLifecycle.UserLifecycleEngine
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildJexlVariables(Group group, Stem stem, GrouperDataField dataField, Object dataFieldValue, GrouperDataRow dataRow) Build the JEXL variable map exposed to user lifecycle event natural-language templates.static StringevaluateLifecycleJexl(String jexlTemplate, Group group, Stem stem, GrouperDataField dataField, Object dataFieldValue, GrouperDataRow dataRow, boolean lenient) Evaluate a user lifecycle natural-language template (template-mode JEXL — literal text is preserved, ${...} blocks are evaluated).static voidsyncUserLifecycleEventConfigs(GrouperConfig grouperConfig) take data fields and make sure the have an internal id
-
Constructor Details
-
UserLifecycleEngine
public UserLifecycleEngine()
-
-
Method Details
-
buildJexlVariables
public static Map<String,Object> buildJexlVariables(Group group, Stem stem, GrouperDataField dataField, Object dataFieldValue, GrouperDataRow dataRow) Build the JEXL variable map exposed to user lifecycle event natural-language templates. Any argument may be null; only non-null inputs contribute keys. The keys here are the single source of truth shared by the daemon (UserLifecycleFullDaemon) and the pre-save validator (UserLifecycleEventConfiguration.validatePreSave) so they cannot drift. -
evaluateLifecycleJexl
public static String evaluateLifecycleJexl(String jexlTemplate, Group group, Stem stem, GrouperDataField dataField, Object dataFieldValue, GrouperDataRow dataRow, boolean lenient) Evaluate a user lifecycle natural-language template (template-mode JEXL — literal text is preserved, ${...} blocks are evaluated). Daemon callers pass lenient=true (undefined variables render as empty, don't crash production); the pre-save validator passes lenient=false (undefined variables throw, so typos surface as field-level errors at save time). -
syncUserLifecycleEventConfigs
take data fields and make sure the have an internal id
-