{
	"adapter": {
		"id": "file.adapter.1",
		"name":  "fileAdapter",
		"description": "File adapter to interact with FS.",
		"fields": [
			{
				"name": "directoryName",
				"type": "File",
				"default": "./default-directory/",
				"property": false,
				"option": false
			},

			{
				"name": "bridgeErrorHandler",
				"type": "boolean",
				"default": "false",
				"property": true,
				"option": true
			},
			{
				"name": "lazyStartProducer",
				"type": "boolean",
				"default": "false",
				"property": true,
				"option": true
			},
			{
				"name": "autowiredEnabled",
				"type": "boolean",
				"default": "true",
				"property": true,
				"option": false
			},

			{
				"name": "charset",
				"option": true
			},
			{
				"name": "doneFileName",
				"option": true
			},
			{
				"name": "fileName",
				"option": true
			},
			{
				"name": "delete",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "moveFailed",
				"option": true
			},
			{
				"name": "noop",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "preMove",
				"option": true
			},
			{
				"name": "preSort",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "recursive",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "sendEmptyMessageWhenIdle",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "directoryMustExist",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "exceptionHandler",
				"type": "ExceptionHandler",
				"option": true
			},
			{
				"name": "exchangePattern",
				"type": "ExchangePattern",
				"option": true
			},
			{
				"name": "extendedAttributes",
				"option": true
			},
			{
				"name": "inProgressRepository",
				"type": "IdempotentRepository",
				"option": true
			},
			{
				"name": "IdempotentRepository",
				"option": true
			},
			{
				"name": "onCompletionExceptionHandler",
				"type": "ExceptionHandler",
				"option": true
			},
			{
				"name": "pollStrategy",
				"type": "PollingConsumerPollStrategy",
				"option": true
			},
			{
				"name": "probeContentType",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "processStrategy",
				"type": "GenericFileProcessStrategy",
				"option": true
			},
			{
				"name": "startingDirectoryMustExist",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "startingDirectoryMustHaveAccess",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "appendChars",
				"option": true
			},
			{
				"name": "fileExist",
				"type": "GenericFileExist",
				"default": "Override",
				"option": true
			},
			{
				"name": "flatten",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "jailStartingDirectory",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "moveExisting",
				"option": true
			},
			{
				"name": "tempFileName",
				"option": true
			},
			{
				"name": "tempPrefix",
				"option": true
			},
			{
				"name": "allowNullBody",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "chmod",
				"option": true
			},
			{
				"name": "chmodDirectory",
				"option": true
			},
			{
				"name": "eagerDeleteTargetFile",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "forceWrites",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "keepLastModified",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "moveExistingFileStrategy",
				"type": "FileMoveExistingStrategy",
				"option": true
			},
			{
				"name": "autoCreate",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "bufferSize",
				"type": "int",
				"default": "131072",
				"option": true
			},
			{
				"name": "copyAndDeleteOnRenameFail",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "renameUsingCopy",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "synchronous",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "antExclude",
				"option": true
			},
			{
				"name": "antFilterCaseSensitive",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "antInclude",
				"option": true
			},
			{
				"name": "eagerMaxMessagesPerPoll",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "exclude",
				"option": true
			},
			{
				"name": "excludeExt",
				"option": true
			},
			{
				"name": "filter",
				"type": "GenericFileFilter",
				"option": true
			},
			{
				"name": "filterDirectory",
				"option": true
			},
			{
				"name": "filterFile",
				"option": true
			},
			{
				"name": "idempotent",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "idempotentKey",
				"option": true
			},
			{
				"name": "idempotentRepository",
				"type": "IdempotentRepository",
				"option": true
			},
			{
				"name": "include",
				"option": true
			},
			{
				"name": "includeExt",
				"option": true
			},
			{
				"name": "maxDepth",
				"type": "int",
				"default": "2147483647",
				"option": true
			},
			{
				"name": "maxMessagesPerPoll",
				"type": "int",
				"option": true
			},
			{
				"name": "minDepth",
				"type": "int",
				"option": true
			},
			{
				"name": "move",
				"option": true
			},
			{
				"name": "exclusiveReadLockStrategy",
				"type": "GenericFileExclusiveReadLockStrategy",
				"option": true
			},
			{
				"name": "readLock",
				"default": "none",
				"option": true
			},
			{
				"name": "readLockCheckInterval",
				"type": "long",
				"default": "1000",
				"option": true
			},
			{
				"name": "readLockDeleteOrphanLockFiles",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "readLockIdempotentReleaseAsync",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "readLockIdempotentReleaseAsyncPoolSize",
				"type": "int",
				"option": true
			},
			{
				"name": "readLockIdempotentReleaseDelay",
				"type": "int",
				"option": true
			},
			{
				"name": "readLockIdempotentReleaseExecutorService",
				"type": "ScheduledExecutorService",
				"option": true
			},
			{
				"name": "readLockLoggingLevel",
				"type": "LoggingLevel",
				"default": "DEBUG",
				"option": true
			},
			{
				"name": "readLockMarkerFile",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "readLockMinAge",
				"type": "long",
				"default": "0",
				"option": true
			},
			{
				"name": "readLockMinLength",
				"type": "long",
				"default": "1",
				"option": true
			},
			{
				"name": "readLockRemoveOnCommit",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "readLockRemoveOnRollback",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "readLockTimeout",
				"type": "long",
				"default": "10000",
				"option": true
			},
			{
				"name": "backoffErrorThreshold",
				"type": "int",
				"option": true
			},
			{
				"name": "backoffIdleThreshold",
				"type": "int",
				"option": true
			},
			{
				"name": "backoffMultiplier",
				"type": "int",
				"option": true
			},
			{
				"name": "delay",
				"type": "long",
				"default": "500",
				"option": true
			},
			{
				"name": "greedy",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "initialDelay",
				"type": "long",
				"default": "1000",
				"option": true
			},
			{
				"name": "repeatCount",
				"type": "long",
				"default": "0",
				"option": true
			},
			{
				"name": "runLoggingLevel",
				"type": "LoggingLevel",
				"default": "TRACE",
				"option": true
			},
			{
				"name": "scheduledExecutorService",
				"type": "ScheduledExecutorService",
				"option": true
			},
			{
				"name": "scheduler",
				"type": "Object",
				"default": "none",
				"option": true
			},
			{
				"name": "schedulerProperties",
				"type": "Map",
				"option": true
			},
			{
				"name": "startScheduler",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "timeUnit",
				"type": "TimeUnit",
				"default": "MILLISECONDS",
				"option": true
			},
			{
				"name": "useFixedDelay",
				"type": "boolean",
				"default": "true",
				"option": true
			},
			{
				"name": "shuffle",
				"type": "boolean",
				"default": "false",
				"option": true
			},
			{
				"name": "sortBy",
				"option": true
			},
			{
				"name": "sorter",
				"type": "Comparator",
				"option": true
			}
		],
		"generators":[
			{
				"type": "pathParameter",
				"generator": "",
				"config": {
					"expression": "${directoryName}"
				}
			},
			{
				"type": "init",
				"generator": ""
			},
			{
				"type": "ref",
				"generator": ""
			},
			{
				"type": "from",
				"generator": ""
			},
			{
				"type": "to",
				"generator": ""
			}
		]
	}
}