// This file was generated by Mendix Modeler. // // WARNING: Only the following code will be retained when actions are regenerated: // - the import list // - the code between BEGIN USER CODE and END USER CODE // - the code between BEGIN EXTRA CODE and END EXTRA CODE // Other code you write will be lost the next time you deploy the project. // Special characters, e.g., é, ö, à, etc. are supported in comments. package communitycommons.actions; import com.mendix.systemwideinterfaces.core.IMendixObject; import communitycommons.StringUtils; import com.mendix.systemwideinterfaces.core.IContext; import com.mendix.webui.CustomJavaAction; /** * Given an object and a template, substitutes all fields in the template. Supports attributes, references, referencesets and constants. * * The general field syntax is '{fieldname}'. * * Fieldname can be a member of the example object, an attribute which need to be retrieved over an reference(set) or a project constant. All paths are relative from the provided substitute obect. An example template: * ------------------ * Dear {EmailOrName}, * * {System.changedBy/FullName} has invited you to join the project {Module.MemberShip_Project/Name}. * Sign up is free and can be done here: * {@Module.PublicURL}link/Signup * ------------------------- * * useHTMLEncoding identifies whether HTMLEncode is applied to the values before substituting. * * datetimeformat identifies a format string which is applied to date/time based attributes. Can be left empty. Defaults to "EEE dd MMM yyyy, HH:mm" */ public class SubstituteTemplate extends CustomJavaAction<java.lang.String> { private java.lang.String template; private IMendixObject substitute; private java.lang.Boolean useHTMLEncoding; public SubstituteTemplate(IContext context, java.lang.String template, IMendixObject substitute, java.lang.Boolean useHTMLEncoding) { super(context); this.template = template; this.substitute = substitute; this.useHTMLEncoding = useHTMLEncoding; } @Override public java.lang.String executeAction() throws Exception { // BEGIN USER CODE return StringUtils.substituteTemplate(this.getContext(), template, substitute, useHTMLEncoding, null); // END USER CODE } /** * Returns a string representation of this action */ @Override public java.lang.String toString() { return "SubstituteTemplate"; } // BEGIN EXTRA CODE // END EXTRA CODE }