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

PropertyReturnsDescription
addressStringThe 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".
addressRegexPatternCompiled 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.
attributesMap<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.
contentTypeStringContent 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.
directionStringEither "in" or "out". In means for files received by the Kademi server, and out means data is sent from the Kademi server.
enabledbooleanWhether this endpoint currently accepts requests. A disabled mapping still matches its address pattern, but inbound and outbound handlers refuse to process the request.
execIdTemplateStringMVEL template used to build a unique execution ID for a pipeline run, evaluated when isRecordExecution is true so a duplicate run can be detected.
fieldNameStringName of the form field used to post the file when this mapping sends an HTTP outbound request as a multipart form.
fileNameStringTemplate 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.
fromAddressStringFrom address used when this mapping sends an outbound email.
idStringUnique identifier for this mapping within its website's integration.xml manifest, used to look it up in the admin UI.
namedGroupsList<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.
passwordStringPassword used to authenticate with the remote endpoint, for example over HTTP basic auth, FTP or SFTP.
pipelinePathStringPath, within the website's file store, to the pipeline definition XML file that processes requests matching this mapping.
preventDuplicatesbooleanWhether a pipeline run is refused when an execution with the same execution ID has already run or is in progress.
privateKeyStringPEM-encoded private key used to authenticate an SFTP connection, as an alternative to a password.
recordExecutionbooleanWhether 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.
replyToAddressStringReply-to address used when this mapping sends an outbound email.
securityStringFTP transport security, "SSL" or "TLS", used to open an FTPS connection instead of plain FTP. Blank or null means plain FTP.
securityModeStringWhether an FTPS connection is "Implicit" or explicit. Only used when getSecurity indicates SSL or TLS.
storeFilebooleanWhether the processed file is stored in the virtual file store after a pipeline run, so it can be downloaded or referenced later.
typeStringThe endpoint type, for example "http", "email" or "ftp", determining which inbound and outbound handlers a mapping matching this endpoint uses.
usernameStringUsername 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.

ParameterDescription
enabledwhether 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.

ParameterDescription
addressthe 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.

ParameterDescription
fileNamethe 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.

ParameterDescription
usernamethe 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.

ParameterDescription
passwordthe 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.

ParameterDescription
privateKeythe 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.

ParameterDescription
securitythe 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.

ParameterDescription
securityModethe 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.

ParameterDescription
fromAddressthe 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.

ParameterDescription
replyToAddressthe 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.

ParameterDescription
attributesthe new attributes
To get full access to the Kademi Hub existing customers can login here, or new customers can register here.