Class SSSOMTUriExpressionToExtFunction<T>
- Type Parameters:
T
- The type of objects produced by the application this function belongs to.
- All Implemented Interfaces:
IMappingTransformer<Mapping>
,ISSSOMTFunction<IMappingTransformer<Mapping>>
That functions allows to store the components (slots) of a URI Expression into a mapping’s extension slots. It takes a single argument, which is the URI Expression to encode. Placeholders are expanded in that argument.
The value of each slot is stored into a SSSOM extension slot whose property name is formed by concatenating the name of the URI Expression schema and the name of the slot.
If the argument does not happen to contain a URI Expression, the original mapping is returned unmodified.
-
Constructor Summary
ConstructorsConstructorDescriptionSSSOMTUriExpressionToExtFunction
(SSSOMTransformApplication<T> application) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionExecutes the function.getName()
Gets the name of the function, by which it can be called in a SSSOM/T ruleset.Gets the expected signature of the function.Transform a mapping into something else.
-
Constructor Details
-
SSSOMTUriExpressionToExtFunction
Creates a new instance.- Parameters:
application
- The application this function belongs to.
-
-
Method Details
-
getName
Description copied from interface:ISSSOMTFunction
Gets the name of the function, by which it can be called in a SSSOM/T ruleset.- Specified by:
getName
in interfaceISSSOMTFunction<T>
- Returns:
- The function name.
-
getSignature
Description copied from interface:ISSSOMTFunction
Gets the expected signature of the function. It should be a string that represents how many arguments (excluding keyed arguments) the function is expecting, where a singleS
character represents an argument.Regular expression syntax may be used to represent arguments that are optional or represent other kinds of constraints about the arguments list.
Examples:
SSS
for a function that expects exactly 3 arguments;S+
for a function that expects at least one argument, possibly more;(SS)+
for a function that one or more pairs of arguments (e.g. 2, 4, 6, but not 3 or 5).
- Specified by:
getSignature
in interfaceISSSOMTFunction<T>
- Returns:
- The function signature.
-
call
public IMappingTransformer<Mapping> call(List<String> arguments, Map<String, String> keyedArguments) throws SSSOMTransformErrorDescription copied from interface:ISSSOMTFunction
Executes the function.Before this method is called, the arguments list will have been checked against the signature and will be guaranteed to be correct (e.g. if the function declared to expects two arguments, it is guaranteed the
arguments
list will contains two items).- Specified by:
call
in interfaceISSSOMTFunction<T>
- Parameters:
arguments
- The arguments to the function. May be empty, but notnull
.keyedArguments
- The keyed arguments to the function. May be empty, butnull
.- Returns:
- The result of executing the function.
- Throws:
SSSOMTransformError
- If any error occurred when executing the function (which may include the case where the number of arguments was correct but their contents was not).
-
transform
Description copied from interface:IMappingTransformer
Transform a mapping into something else.- Specified by:
transform
in interfaceIMappingTransformer<T>
- Parameters:
mapping
- The mapping to transform.- Returns:
- The object generated from the mapping.
-