Configuration for one inbound or outbound integration endpoint, matching an address pattern to the pipeline that processes it. Each instance corresponds to one endpoint element in a website's /theme/integration.xml manifest, parsed by XStream under the "endpoint" alias, and held in the EndPointMappingCache for that website. IntegrationApp matches incoming HTTP, FTP or email traffic against the address regex to find the mapping that applies, then hands it to PipelineManager.getPipeline to build the Pipeline that processes the request; the inbound and outbound handlers and the pipeline itself read the credentials, security and behavioural fields from the mapping while they run. The class is immutable - the with* methods, exported to GraalJS, return a modified copy rather than changing the original mapping.
Group: Integrations
Implements: Serializable
Properties
| Property | Returns | Description |
|---|---|---|
| address | String | The address pattern to match, for example a URL path, an FTP path or an email address, expressed as a regular expression that may include named capture groups, such as one named "month". |
| addressRegex | Pattern | Compiled matcher for the address pattern, built and cached on first use. If the address contains an unresolved dollar-brace placeholder such as one referencing a secret or environment variable, the placeholder is looked up via EnvVariableAppSettingsService; if it is still unresolved after that lookup, the literal placeholder text is matched exactly rather than as a regular expression, and a null address never matches anything. |
| attributes | Map<String,Serializable> | Arbitrary name/value pairs configured on this mapping, read by handlers for endpoint-specific settings such as an email subject or body template. |
| contentType | String | Content type used when this mapping serves an HTTP output response. May be null, in which case the caller falls back to a default such as text/csv. |
| direction | String | Either "in" or "out". In means for files received by the Kademi server, and out means data is sent from the Kademi server. |
| enabled | boolean | Whether this endpoint currently accepts requests. A disabled mapping still matches its address pattern, but inbound and outbound handlers refuse to process the request. |
| execIdTemplate | String | MVEL template used to build a unique execution ID for a pipeline run, evaluated when isRecordExecution is true so a duplicate run can be detected. |
| fieldName | String | Name of the form field used to post the file when this mapping sends an HTTP outbound request as a multipart form. |
| fileName | String | Template used to generate the name of the file produced or stored by this mapping. May contain kcode field placeholders or a template expression, evaluated against the pipeline's attributes at run time. |
| fromAddress | String | From address used when this mapping sends an outbound email. |
| id | String | Unique identifier for this mapping within its website's integration.xml manifest, used to look it up in the admin UI. |
| namedGroups | List<String> | Named capture groups declared in this mapping's address pattern, in the order they appear, for example "month" for an address containing a group named month. Used to pull matched values such as a month or an account code out of the address the request matched. |
| password | String | Password used to authenticate with the remote endpoint, for example over HTTP basic auth, FTP or SFTP. |
| pipelinePath | String | Path, within the website's file store, to the pipeline definition XML file that processes requests matching this mapping. |
| preventDuplicates | boolean | Whether a pipeline run is refused when an execution with the same execution ID has already run or is in progress. |
| privateKey | String | PEM-encoded private key used to authenticate an SFTP connection, as an alternative to a password. |
| recordExecution | boolean | Whether each pipeline run against this mapping is recorded as a PipelineExecution, which in turn is what makes execution-ID based duplicate prevention possible. Defaults to true when not explicitly configured. |
| replyToAddress | String | Reply-to address used when this mapping sends an outbound email. |
| security | String | FTP transport security, "SSL" or "TLS", used to open an FTPS connection instead of plain FTP. Blank or null means plain FTP. |
| securityMode | String | Whether an FTPS connection is "Implicit" or explicit. Only used when getSecurity indicates SSL or TLS. |
| storeFile | boolean | Whether the processed file is stored in the virtual file store after a pipeline run, so it can be downloaded or referenced later. |
| type | String | The endpoint type, for example "http", "email" or "ftp", determining which inbound and outbound handlers a mapping matching this endpoint uses. |
| username | String | Username used to authenticate with the remote endpoint, for example over HTTP basic auth, FTP or SFTP. |
Methods
getAttributes() · getType() · getAddress() · getPipelinePath() · getDirection() · getContentType() · getId() · isEnabled() · isStoreFile() · getFileName() · getFieldName() · getUsername() · getPassword() · getPrivateKey() · getSecurity() · getSecurityMode() · getFromAddress() · getReplyToAddress() · getAddressRegex() · getExecIdTemplate() · isPreventDuplicates() · isRecordExecution() · getNamedGroups() · withEnabled(boolean enabled) · withAddress(String address) · withFileName(String fileName) · withUsername(String username) · withPassword(String password) · withPrivateKey(String privateKey) · withSecurity(String security) · withSecurityMode(String securityMode) · withFromAddress(String fromAddress) · withReplyToAddress(String replyToAddress) · withAttributes(Map<String,Serializable> attributes)
getAttributes()
Returns: Map<String,Serializable>
Arbitrary name/value pairs configured on this mapping, read by handlers for endpoint-specific settings such as an email subject or body template.
getType()
Returns: String
The endpoint type, for example "http", "email" or "ftp", determining which inbound and outbound handlers a mapping matching this endpoint uses.
getAddress()
Returns: String
The address pattern to match, for example a URL path, an FTP path or an email address, expressed as a regular expression that may include named capture groups, such as one named "month".
getPipelinePath()
Returns: String
Path, within the website's file store, to the pipeline definition XML file that processes requests matching this mapping.
getDirection()
Returns: String
Either "in" or "out". In means for files received by the Kademi server, and out means data is sent from the Kademi server.
getContentType()
Returns: String
Content type used when this mapping serves an HTTP output response. May be null, in which case the caller falls back to a default such as text/csv.
getId()
Returns: String
Unique identifier for this mapping within its website's integration.xml manifest, used to look it up in the admin UI.
isEnabled()
Returns: boolean
Whether this endpoint currently accepts requests. A disabled mapping still matches its address pattern, but inbound and outbound handlers refuse to process the request.
isStoreFile()
Returns: boolean
Whether the processed file is stored in the virtual file store after a pipeline run, so it can be downloaded or referenced later.
getFileName()
Returns: String
Template used to generate the name of the file produced or stored by this mapping. May contain kcode field placeholders or a template expression, evaluated against the pipeline's attributes at run time.
getFieldName()
Returns: String
Name of the form field used to post the file when this mapping sends an HTTP outbound request as a multipart form.
getUsername()
Returns: String
Username used to authenticate with the remote endpoint, for example over HTTP basic auth, FTP or SFTP.
getPassword()
Returns: String
Password used to authenticate with the remote endpoint, for example over HTTP basic auth, FTP or SFTP.
getPrivateKey()
Returns: String
PEM-encoded private key used to authenticate an SFTP connection, as an alternative to a password.
getSecurity()
Returns: String
FTP transport security, "SSL" or "TLS", used to open an FTPS connection instead of plain FTP. Blank or null means plain FTP.
getSecurityMode()
Returns: String
Whether an FTPS connection is "Implicit" or explicit. Only used when getSecurity indicates SSL or TLS.
getFromAddress()
Returns: String
From address used when this mapping sends an outbound email.
getReplyToAddress()
Returns: String
Reply-to address used when this mapping sends an outbound email.
getAddressRegex()
Returns: Pattern
Compiled matcher for the address pattern, built and cached on first use. If the address contains an unresolved dollar-brace placeholder such as one referencing a secret or environment variable, the placeholder is looked up via EnvVariableAppSettingsService; if it is still unresolved after that lookup, the literal placeholder text is matched exactly rather than as a regular expression, and a null address never matches anything.
getExecIdTemplate()
Returns: String
MVEL template used to build a unique execution ID for a pipeline run, evaluated when isRecordExecution is true so a duplicate run can be detected.
isPreventDuplicates()
Returns: boolean
Whether a pipeline run is refused when an execution with the same execution ID has already run or is in progress.
isRecordExecution()
Returns: boolean
Whether each pipeline run against this mapping is recorded as a PipelineExecution, which in turn is what makes execution-ID based duplicate prevention possible. Defaults to true when not explicitly configured.
getNamedGroups()
Returns: List<String>
Named capture groups declared in this mapping's address pattern, in the order they appear, for example "month" for an address containing a group named month. Used to pull matched values such as a month or an account code out of the address the request matched.
withEnabled(boolean enabled)
Returns: EndPointMapping
Returns a copy of this mapping with the enabled flag replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
enabled | whether the copy is enabled |
withAddress(String address)
Returns: EndPointMapping
Returns a copy of this mapping with the address pattern replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
address | the new address pattern |
withFileName(String fileName)
Returns: EndPointMapping
Returns a copy of this mapping with the file name template replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
fileName | the new file name template |
withUsername(String username)
Returns: EndPointMapping
Returns a copy of this mapping with the username replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
username | the new username |
withPassword(String password)
Returns: EndPointMapping
Returns a copy of this mapping with the password replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
password | the new password |
withPrivateKey(String privateKey)
Returns: EndPointMapping
Returns a copy of this mapping with the private key replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
privateKey | the new PEM-encoded private key |
withSecurity(String security)
Returns: EndPointMapping
Returns a copy of this mapping with the FTP transport security setting replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
security | the new security setting, for example SSL or TLS |
withSecurityMode(String securityMode)
Returns: EndPointMapping
Returns a copy of this mapping with the FTPS security mode replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
securityMode | the new security mode, for example Implicit |
withFromAddress(String fromAddress)
Returns: EndPointMapping
Returns a copy of this mapping with the outbound email from address replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
fromAddress | the new from address |
withReplyToAddress(String replyToAddress)
Returns: EndPointMapping
Returns a copy of this mapping with the outbound email reply-to address replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
replyToAddress | the new reply-to address |
withAttributes(Map<String,Serializable> attributes)
Returns: EndPointMapping
Returns a copy of this mapping with the arbitrary attributes map replaced. Does not mutate this instance; the mapping is immutable.
| Parameter | Description |
|---|---|
attributes | the new attributes |