diff --git a/src/main/resources/module-descriptor.json b/src/main/resources/module-descriptor.json index 08f9f8b..e220aa2 100644 --- a/src/main/resources/module-descriptor.json +++ b/src/main/resources/module-descriptor.json @@ -1 +1 @@ -{"name":"module-file","displayName":"File Module","version":"1.0.5","components":[{"hidden":false,"displayName":"File Delete","description":"Deletes a file from the file system with the given File name. An error is raised if the given file could not be found. The file name can be a dynamic expression.","fullyQualifiedName":"com.reedelk.file.component.FileDelete","type":"PROCESSOR","input":{"description":"The input payload is used to evaluate the file name to delete.","payload":["java.lang.Object"]},"output":{"description":"The path and name of the deleted file.","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/sample.txt","description":"The path and name of the file to be deleted from the file system.\t","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]}]},{"hidden":false,"displayName":"File Exists","description":"The File Exists component Tests whether a file with the given path exists. The file path can be a text only or dynamic expression.","fullyQualifiedName":"com.reedelk.file.component.FileExists","type":"PROCESSOR","input":{"description":"The input payload is used to evaluate the file name to check for existence.","payload":["java.lang.Object"]},"output":{"description":"True if the file exists, false otherwise.","dynamicPropertyName":"","payload":["boolean"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/log1.txt","description":"The path and name of the file to be checked for existence.","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]},{"mandatory":false,"name":"basePath","example":"/var/logs","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs","description":"Optional base path from which files with the given \u003ci\u003eFile name\u003c/i\u003e will be checked for existence. The final file will be checked from \u003ci\u003eBase Path\u003c/i\u003e + \u003ci\u003eFile Name\u003c/i\u003e.","displayName":"Base path","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"target","group":"Advanced","example":"myFileExists","initValue":"###USE_DEFAULT_VALUE###","hintValue":"myFileExists","description":"If the property is not empty, the result of the file exists check is assigned to the given context variable instead of the message payload.","displayName":"Target Variable","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]}]},{"hidden":false,"displayName":"File Read","description":"Reads a file from the file system from the given file name and optionally provided base path. The file read strategy determines if the file should be streamed from the file system or loaded into memory before continuing with the execution of the flow. The component can also be configured to acquire a lock before reading the file.","fullyQualifiedName":"com.reedelk.file.component.FileRead","type":"PROCESSOR","input":{"description":"The input payload is used to evaluate the file name to read.","payload":["java.lang.Object"]},"output":{"description":"The content of the file read from the file system from the given path and file name.","dynamicPropertyName":"","payload":["byte[]"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/log1.txt","description":"The path and name of the file to be read from the file system.","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]},{"mandatory":false,"name":"basePath","example":"/var/logs","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs","description":"Optional base path from which files with the given \u003ci\u003eFile name\u003c/i\u003e will be read from. The final file will be read from \u003ci\u003eBase Path\u003c/i\u003e + \u003ci\u003eFile Name\u003c/i\u003e.","displayName":"Base path","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"mode","example":"STREAM","initValue":"DEFAULT","description":"Determines the read strategy. When \u003ci\u003eDefault\u003c/i\u003e the file is completely read into memory. When \u003ci\u003eStream\u003c/i\u003e the file is read only on demand only when the message payload is being consumed. This is the preferred method to read large files from the filesystem.","displayName":"Read mode","defaultValue":"DEFAULT","type":{"classname":"com.reedelk.module.descriptor.model.property.EnumDescriptor","instance":{"nameAndDisplayNameMap":{"STREAM":"Stream","DEFAULT":"Default"},"type":"java.lang.Enum"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"false","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the file read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"text/xml","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the file read from the filesystem.","displayName":"Mime type","defaultValue":"application/octet-stream","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]},{"mandatory":false,"name":"configuration","group":"Configuration","initValue":"###USE_DEFAULT_VALUE###","displayName":"Configuration","type":{"classname":"com.reedelk.module.descriptor.model.property.ObjectDescriptor","instance":{"shared":"NO","collapsible":"NO","typeFullyQualifiedName":"com.reedelk.file.component.FileReadConfiguration","objectProperties":[{"mandatory":false,"name":"lockFile","example":"true","initValue":"###USE_DEFAULT_VALUE###","description":"If true a lock on the file is acquired before reading its content.","displayName":"Lock file","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Boolean"}},"whens":[]},{"mandatory":false,"name":"lockRetryMaxAttempts","example":"7","initValue":"###USE_DEFAULT_VALUE###","hintValue":"5","description":"Sets the max lock attempts before throwing an error.","displayName":"Lock retry max attempts","defaultValue":"3","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"lockRetryWaitTime","example":"500","initValue":"###USE_DEFAULT_VALUE###","hintValue":"700","description":"Sets the wait time between two file lock attempts in milliseconds.","displayName":"Lock retry wait time (ms)","defaultValue":"500","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Long"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"readBufferSize","example":"1024","initValue":"###USE_DEFAULT_VALUE###","hintValue":"1024","description":"The buffer size used to read the files from filesystem. This parameter can be used to improve read performances. If the files are big the buffer size should be bigger, otherwise for very small files it should be kept smaller. The read buffer size is expressed in Kb and it can only be applied when the read mode strategy is \u0027Stream\u0027.","displayName":"Read buffer size","defaultValue":"1024","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[]}],"type":"com.reedelk.module.descriptor.model.property.ObjectDescriptor$TypeObject"}},"whens":[]}]},{"hidden":false,"displayName":"File Write","description":"Writes a file to the file system to the given File name and optionally provided Base path. The write mode can be used to override an existing file, create new file if it does not exists or append to the existing file if exists already.","fullyQualifiedName":"com.reedelk.file.component.FileWrite","type":"PROCESSOR","input":{"description":"The data to be written on the file. The expected input is byte array or string.","payload":["byte[]","java.lang.String"]},"output":{"description":"","dynamicPropertyName":"","payload":["java.lang.Void"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/log1.txt","description":"The path and name of the file to be written on the file system.","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]},{"mandatory":false,"name":"basePath","example":"/var/logs","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs","description":"Optional base path from which files with the given \u003ci\u003eFile name\u003c/i\u003e will be written to. The final file will be written into \u003ci\u003eBase Path\u003c/i\u003e + \u003ci\u003eFile Name\u003c/i\u003e.","displayName":"Base path","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"mode","example":"APPEND","initValue":"OVERWRITE","description":"Sets the file write mode. Possible values are \u003cb\u003eOVERWRITE\u003c/b\u003e, \u003cb\u003eCREATE_NEW\u003c/b\u003e, \u003cb\u003eAPPEND\u003c/b\u003e.","displayName":"Write mode","defaultValue":"OVERWRITE","type":{"classname":"com.reedelk.module.descriptor.model.property.EnumDescriptor","instance":{"nameAndDisplayNameMap":{"OVERWRITE":"Overwrite","CREATE_NEW":"Create new","APPEND":"Append"},"type":"java.lang.Enum"}},"whens":[]},{"mandatory":false,"name":"configuration","group":"Configuration","initValue":"###USE_DEFAULT_VALUE###","displayName":"Configuration","type":{"classname":"com.reedelk.module.descriptor.model.property.ObjectDescriptor","instance":{"shared":"NO","collapsible":"YES","typeFullyQualifiedName":"com.reedelk.file.component.FileWriteConfiguration","objectProperties":[{"mandatory":false,"name":"createParentDirectory","example":"true","initValue":"###USE_DEFAULT_VALUE###","description":"If true, missing directories will be created on the filesystem before writing the file.","displayName":"Create directories","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Boolean"}},"whens":[]},{"mandatory":false,"name":"lockFile","example":"true","initValue":"###USE_DEFAULT_VALUE###","description":"If true a lock on the file is acquired before writing the content.","displayName":"Lock file","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Boolean"}},"whens":[]},{"mandatory":false,"name":"lockRetryMaxAttempts","example":"5","initValue":"###USE_DEFAULT_VALUE###","hintValue":"3","description":"Sets the max lock attempts before throwing an error.","displayName":"Lock retry max attempts","defaultValue":"3","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"lockRetryWaitTime","example":"600","initValue":"###USE_DEFAULT_VALUE###","hintValue":"500","description":"Sets the wait time (in milliseconds) between two file lock attempts.","displayName":"Lock retry wait time (ms)","defaultValue":"500","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Long"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"writeBufferSize","example":"524288","initValue":"###USE_DEFAULT_VALUE###","hintValue":"65536","description":"The buffer size used to write the files to filesystem. This parameter can be used to improve write performances. If the files are big the buffer size should be bigger, otherwise for very small files it should be kept smaller.","displayName":"Write buffer size","defaultValue":"65536","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[]}],"type":"com.reedelk.module.descriptor.model.property.ObjectDescriptor$TypeObject"}},"whens":[]}]}],"types":[{"global":false,"type":"com.reedelk.file.internal.attribute.FileAttribute","extendsType":"com.reedelk.runtime.api.message.MessageAttributes","description":"","mapKeyType":"java.lang.Object","mapValueType":"java.lang.Object","functions":[],"properties":[{"name":"fileName","type":"java.lang.String","example":"","description":""},{"name":"timestamp","type":"long","example":"","description":""}]}]} \ No newline at end of file +{"name":"module-file","displayName":"File Module","version":"1.0.6","components":[{"hidden":false,"displayName":"File Delete","description":"Deletes a file from the file system with the given File name. An error is raised if the given file could not be found. The file name can be a dynamic expression.","fullyQualifiedName":"com.reedelk.file.component.FileDelete","type":"PROCESSOR","input":{"description":"The input payload is used to evaluate the file name to delete.","payload":["java.lang.Object"]},"output":{"description":"The path and name of the deleted file.","dynamicPropertyName":"","payload":["java.lang.String"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/sample.txt","description":"The path and name of the file to be deleted from the file system.\t","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]}]},{"hidden":false,"displayName":"File Exists","description":"The File Exists component Tests whether a file with the given path exists. The file path can be a text only or dynamic expression.","fullyQualifiedName":"com.reedelk.file.component.FileExists","type":"PROCESSOR","input":{"description":"The input payload is used to evaluate the file name to check for existence.","payload":["java.lang.Object"]},"output":{"description":"True if the file exists, false otherwise.","dynamicPropertyName":"","payload":["boolean"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/log1.txt","description":"The path and name of the file to be checked for existence.","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]},{"mandatory":false,"name":"basePath","example":"/var/logs","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs","description":"Optional base path from which files with the given \u003ci\u003eFile name\u003c/i\u003e will be checked for existence. The final file will be checked from \u003ci\u003eBase Path\u003c/i\u003e + \u003ci\u003eFile Name\u003c/i\u003e.","displayName":"Base path","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"target","group":"Advanced","example":"myFileExists","initValue":"###USE_DEFAULT_VALUE###","hintValue":"myFileExists","description":"If the property is not empty, the result of the file exists check is assigned to the given context variable instead of the message payload.","displayName":"Target Variable","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]}]},{"hidden":false,"displayName":"File Read","description":"Reads a file from the file system from the given file name and optionally provided base path. The file read strategy determines if the file should be streamed from the file system or loaded into memory before continuing with the execution of the flow. The component can also be configured to acquire a lock before reading the file.","fullyQualifiedName":"com.reedelk.file.component.FileRead","type":"PROCESSOR","input":{"description":"The input payload is used to evaluate the file name to read.","payload":["java.lang.Object"]},"output":{"description":"The content of the file read from the file system from the given path and file name.","dynamicPropertyName":"","payload":["byte[]"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/log1.txt","description":"The path and name of the file to be read from the file system.","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]},{"mandatory":false,"name":"basePath","example":"/var/logs","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs","description":"Optional base path from which files with the given \u003ci\u003eFile name\u003c/i\u003e will be read from. The final file will be read from \u003ci\u003eBase Path\u003c/i\u003e + \u003ci\u003eFile Name\u003c/i\u003e.","displayName":"Base path","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"mode","example":"STREAM","initValue":"DEFAULT","description":"Determines the read strategy. When \u003ci\u003eDefault\u003c/i\u003e the file is completely read into memory. When \u003ci\u003eStream\u003c/i\u003e the file is read only on demand only when the message payload is being consumed. This is the preferred method to read large files from the filesystem.","displayName":"Read mode","defaultValue":"DEFAULT","type":{"classname":"com.reedelk.module.descriptor.model.property.EnumDescriptor","instance":{"nameAndDisplayNameMap":{"STREAM":"Stream","DEFAULT":"Default"},"type":"java.lang.Enum"}},"whens":[]},{"mandatory":false,"name":"autoMimeType","example":"false","initValue":"true","description":"If true, the mime type of the payload is determined from the extension of the file read.","displayName":"Auto mime type","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"boolean"}},"whens":[]},{"mandatory":false,"name":"mimeType","example":"text/xml","initValue":"###USE_DEFAULT_VALUE###","description":"The mime type of the file read from the filesystem.","displayName":"Mime type","defaultValue":"application/octet-stream","type":{"classname":"com.reedelk.module.descriptor.model.property.ComboDescriptor","instance":{"editable":true,"prototype":"XXXXXXXXXXXXXXXXXXXXXXXXXX","comboValues":["text/css","text/html","text/plain","text/richtext","text/scriptlet","text/tab-separated-values","text/csv","text/webviewhtml","text/x-component","text/x-setext","text/x-vcard","text/xml","text/json","text/javascript","image/bmp","image/gif","image/png","image/jpeg","image/pipeg","image/svg+xml","image/tiff","image/x-cmu-raster","image/x-cmx","image/x-icon","image/x-portable-anymap","image/x-portable-bitmap","image/x-portable-graymap","image/x-portable-pixmap","image/x-rgb","image/x-xbitmap","image/x-xpixmap","image/x-xwindowdump","image/ief","message/rfc822","video/mpeg","video/mp4","video/quicktime","video/x-la-asf","video/x-ms-asf","video/x-msvideo","video/x-sgi-movie","audio/basic","audio/mid","audio/mpeg","audio/x-aiff","audio/x-mpegurl","audio/x-pn-realaudio","audio/x-wav","application/envoy","application/fractals","application/futuresplash","application/hta","application/msword","application/octet-stream","application/oda","application/olescript","application/pdf","application/pics-rules","application/pkcs10","application/pkix-crl","application/postscript","application/rtf","application/set-payment-initiation","application/set-registration-initiation","application/vnd.ms-excel","application/vnd.ms-outlook","application/vnd.ms-pkicertstore","application/vnd.ms-pkiseccat","application/vnd.ms-pkistl","application/vnd.ms-powerpoint","application/vnd.ms-project","application/vnd.ms-works","application/winhlp","application/x-bcpio","application/x-cdf","application/x-compress","application/x-compressed","application/x-cpio","application/x-csh","application/x-director","application/x-dvi","application/x-gtar","application/x-gzip","application/x-hdf","application/x-internet-signup","application/javascript","application/x-latex","application/x-msaccess","application/x-mscardfile","application/x-msclip","application/x-msdownload","application/x-msmediaview","application/x-msmetafile","application/x-msmoney","application/x-mspublisher","application/x-msschedule","application/x-msterminal","application/x-mswrite","application/x-netcdf","application/x-pkcs12","application/x-pkcs7-certificates","application/x-pkcs7-certreqresp","application/x-pkcs7-mime","application/x-pkcs7-signature","application/x-sh","application/x-shar","application/x-shockwave-flash","application/x-tar","application/x-x509-ca-cert","application/zip","application/atom+xml","application/rss+xml","application/xml","application/json","application/java","application/x-www-form-urlencoded","*/*","content/unknown","multipart/form-data"],"type":"com.reedelk.runtime.api.annotation.Combo"}},"whens":[{"propertyName":"autoMimeType","propertyValue":"false"},{"propertyName":"autoMimeType","propertyValue":"###BLANK###"}]},{"mandatory":false,"name":"configuration","group":"Configuration","initValue":"###USE_DEFAULT_VALUE###","displayName":"Configuration","type":{"classname":"com.reedelk.module.descriptor.model.property.ObjectDescriptor","instance":{"shared":"NO","collapsible":"NO","typeFullyQualifiedName":"com.reedelk.file.component.FileReadConfiguration","objectProperties":[{"mandatory":false,"name":"lockFile","example":"true","initValue":"###USE_DEFAULT_VALUE###","description":"If true a lock on the file is acquired before reading its content.","displayName":"Lock file","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Boolean"}},"whens":[]},{"mandatory":false,"name":"lockRetryMaxAttempts","example":"7","initValue":"###USE_DEFAULT_VALUE###","hintValue":"5","description":"Sets the max lock attempts before throwing an error.","displayName":"Lock retry max attempts","defaultValue":"3","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"lockRetryWaitTime","example":"500","initValue":"###USE_DEFAULT_VALUE###","hintValue":"700","description":"Sets the wait time between two file lock attempts in milliseconds.","displayName":"Lock retry wait time (ms)","defaultValue":"500","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Long"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"readBufferSize","example":"1024","initValue":"###USE_DEFAULT_VALUE###","hintValue":"1024","description":"The buffer size used to read the files from filesystem. This parameter can be used to improve read performances. If the files are big the buffer size should be bigger, otherwise for very small files it should be kept smaller. The read buffer size is expressed in Kb and it can only be applied when the read mode strategy is \u0027Stream\u0027.","displayName":"Read buffer size","defaultValue":"1024","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[]}],"type":"com.reedelk.module.descriptor.model.property.ObjectDescriptor$TypeObject"}},"whens":[]}]},{"hidden":false,"displayName":"File Write","description":"Writes a file to the file system to the given File name and optionally provided Base path. The write mode can be used to override an existing file, create new file if it does not exists or append to the existing file if exists already.","fullyQualifiedName":"com.reedelk.file.component.FileWrite","type":"PROCESSOR","input":{"description":"The data to be written on the file. The expected input is byte array or string.","payload":["byte[]","java.lang.String"]},"output":{"description":"","dynamicPropertyName":"","payload":["java.lang.Void"],"attributes":["com.reedelk.file.internal.attribute.FileAttribute"]},"properties":[{"mandatory":false,"name":"fileName","example":"/var/logs/log1.txt","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs/log1.txt","description":"The path and name of the file to be written on the file system.","displayName":"File name","type":{"classname":"com.reedelk.module.descriptor.model.property.DynamicValueDescriptor","instance":{"type":"com.reedelk.runtime.api.script.dynamicvalue.DynamicString"}},"whens":[]},{"mandatory":false,"name":"basePath","example":"/var/logs","initValue":"###USE_DEFAULT_VALUE###","hintValue":"/var/logs","description":"Optional base path from which files with the given \u003ci\u003eFile name\u003c/i\u003e will be written to. The final file will be written into \u003ci\u003eBase Path\u003c/i\u003e + \u003ci\u003eFile Name\u003c/i\u003e.","displayName":"Base path","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.String"}},"whens":[]},{"mandatory":false,"name":"mode","example":"APPEND","initValue":"OVERWRITE","description":"Sets the file write mode. Possible values are \u003cb\u003eOVERWRITE\u003c/b\u003e, \u003cb\u003eCREATE_NEW\u003c/b\u003e, \u003cb\u003eAPPEND\u003c/b\u003e.","displayName":"Write mode","defaultValue":"OVERWRITE","type":{"classname":"com.reedelk.module.descriptor.model.property.EnumDescriptor","instance":{"nameAndDisplayNameMap":{"OVERWRITE":"Overwrite","CREATE_NEW":"Create new","APPEND":"Append"},"type":"java.lang.Enum"}},"whens":[]},{"mandatory":false,"name":"configuration","group":"Configuration","initValue":"###USE_DEFAULT_VALUE###","displayName":"Configuration","type":{"classname":"com.reedelk.module.descriptor.model.property.ObjectDescriptor","instance":{"shared":"NO","collapsible":"YES","typeFullyQualifiedName":"com.reedelk.file.component.FileWriteConfiguration","objectProperties":[{"mandatory":false,"name":"createParentDirectory","example":"true","initValue":"###USE_DEFAULT_VALUE###","description":"If true, missing directories will be created on the filesystem before writing the file.","displayName":"Create directories","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Boolean"}},"whens":[]},{"mandatory":false,"name":"lockFile","example":"true","initValue":"###USE_DEFAULT_VALUE###","description":"If true a lock on the file is acquired before writing the content.","displayName":"Lock file","defaultValue":"false","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Boolean"}},"whens":[]},{"mandatory":false,"name":"lockRetryMaxAttempts","example":"5","initValue":"###USE_DEFAULT_VALUE###","hintValue":"3","description":"Sets the max lock attempts before throwing an error.","displayName":"Lock retry max attempts","defaultValue":"3","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"lockRetryWaitTime","example":"600","initValue":"###USE_DEFAULT_VALUE###","hintValue":"500","description":"Sets the wait time (in milliseconds) between two file lock attempts.","displayName":"Lock retry wait time (ms)","defaultValue":"500","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Long"}},"whens":[{"propertyName":"lockFile","propertyValue":"true"}]},{"mandatory":false,"name":"writeBufferSize","example":"524288","initValue":"###USE_DEFAULT_VALUE###","hintValue":"65536","description":"The buffer size used to write the files to filesystem. This parameter can be used to improve write performances. If the files are big the buffer size should be bigger, otherwise for very small files it should be kept smaller.","displayName":"Write buffer size","defaultValue":"65536","type":{"classname":"com.reedelk.module.descriptor.model.property.PrimitiveDescriptor","instance":{"type":"java.lang.Integer"}},"whens":[]}],"type":"com.reedelk.module.descriptor.model.property.ObjectDescriptor$TypeObject"}},"whens":[]}]}],"types":[{"global":false,"type":"com.reedelk.file.internal.attribute.FileAttribute","extendsType":"com.reedelk.runtime.api.message.MessageAttributes","description":"","mapKeyType":"java.lang.Object","mapValueType":"java.lang.Object","functions":[],"properties":[{"name":"fileName","type":"java.lang.String","example":"","description":""},{"name":"timestamp","type":"long","example":"","description":""}]}]} \ No newline at end of file