An Action is a stateless process step: a Java class implementing com.enactor.coreUI.actions.IUIAction, invoked by class name from an Application Process (or Business Process) definition. It reads typed inputs, does one unit of work, writes typed outputs, and returns a named outcome that drives branching to the next step in the process.
What this reference covers
This is not a general action catalogue - the Application Process Editor's own palette (Common Actions, Advanced Actions, Web Actions, plus the generic Actions group) already documents the action types that show up as drag-and-drop tools: Assign, Call Process, End Process, Null Action, Create Object, Execute Script, Pause, and the entity/transaction actions in Common Actions. If it has a palette icon, look there first.
This reference is specifically for the opposite case: classes used constantly across the codebase but with no palette entry at all - findable only by already knowing the class name, reading source, or searching the Resource Library by category. Every class below was confirmed against a full codebase scan of <core:className> action references (108,000+ occurrences across Core, BusinessProcess, EstateManager, POS, Retail, CRM, Inventory, OrderManager, and every other module) and cross-checked against the four palette pages to confirm it has no tool of its own.
Wiring one of these into a process
This page tells you which class to use and its inputs/outputs/outcomes - for the mechanics of actually adding it to a process (dragging a generic Action tool from the palette, setting its Class Name property via ctrl+space search or via the Resource Library, then matching its Inputs/Outputs/Outcomes to the tables below), see Actions.
How an action is documented
Every action class carries two layers of metadata, both maintained in the class-level Javadoc, with inputs/outputs/outcomes additionally mirrored as real Java annotations:
| Layer | Where it lives | What it's for |
|---|
@Categories, @Keywords, @ResourceType | Javadoc tags only | Drives the Resource Library search/category filter - see Search by Element Type |
@Inputs/@Input, @Outputs/@Output, @Outcomes/@Outcome | Both Javadoc tags and @Inputs/@Outputs/@Outcomes Java annotations (com.enactor.coreUI.annotations) | Drives the Application Process Editor's Inputs/Outputs/Outcomes property tables, and is read at runtime to validate process wiring |
Keeping both layers correct and complete matters: an action missing @Categories/@Keywords still works, but won't surface when a developer searches the Resource Library by category - they're more likely to write a duplicate action instead of reusing yours. See Java Action Best Practices for the coding conventions.
Reference index
Entity & list building
Collections & iteration
Logging & auditing
Security & process control
| Action | Category | Summary |
|---|
| CheckPrivilegesAction | database | Checks the signed-on user's privileges |
| CallProcessWithPrivilegesAction | ui, process | Calls a sub-process, passing privileges through as data |
| UICallExtensionPointProcessAction | ui, process | Calls every process registered against an extension point |
| CheckEventAction | process | Raises an event's name as the outcome |
| RaiseOutcomeAction | process | Raises an already-resolved outcome object |
| RaiseValueAsOutcomeAction | process | Raises a named outcome, given its name |
| UIThrowProcessExceptionAction | ui, logging, process | Throws a process exception and ends the process |
| UIWaitAction | database | Blocking wait for a period of time |
| UIStopBackgroundProcessAction | process | Stops a running background process |
| SetControlServiceCurrentActivityAction | service, ui | Sets a control service's Back Office activity status |
| ClosePromptAction | ui | Closes an open prompt state |
| UIPauseProcessAction | process | Persists and pauses the current process, to chain to another |
| UIExecuteBackgroundProcessAction | ui, process | Starts a background process on one or more threads |
| UIExecuteProcessInWindowAction | ui, process | Starts a process in another window without ending the current one |
View-data plumbing
Connectivity & messaging
Print & document templating
OS, file & process execution
Maintenance Framework CRUD
| Action | Category | Summary |
|---|
| ViewAction | user, ui, entity, database | Loads (read-locked) and pushes an entity for viewing |
| BackAction | user, ui, entity | Pops an entity off the navigation stack |
| EditAction | entity, database | Locks and loads an entity for editing |
| CopyEntityAction | database, entity | Deep-copies an entity via XML round-trip |
| NewAction | user, ui, entity, database | Creates a new entity key from a name/namespace pair |
| CancelAction | entity, database | Unlocks and pops a cancelled entity off the stack |
| CreateAction | user, ui, entity, database | Validates, checks existence, and creates a new/copied entity |
| BackFromNewAction | entity | No-op back action for use right after Create |
Before writing a new action
Each entry above has a "Use this as a base" section aimed at exactly this question. As a general rule:
- If an existing action already does the kind of work you need (filter a list, check privileges, resolve an endpoint, log an entry), configure it against your data rather than writing a new class - that's what the
@Input/@Output contracts are designed for.
- Check this page first if the action you're about to write doesn't have an obvious palette icon - there's a good chance it already exists here or in one of its listed siblings.
- Only write a new action when the existing ones can't be configured to do the job. Search the Resource Library by category first - it will surface more candidates than this page alone.