protected resolvePermissions()

in plugin-acl/plugin/grails-app/taglib/grails/plugin/springsecurity/acl/SecurityAclTagLib.groovy [90:120]


	protected resolvePermissions(permissions) {

		Set<Permission> resolvedPermissions = []

		if (permissions instanceof String) {
			splitStringIntoPermissions permissions, resolvedPermissions
		}
		else if (permissions instanceof List) {
			for (item in permissions) {
				if (item instanceof String) {
					splitStringIntoPermissions item, resolvedPermissions
				}
				else if (item instanceof Integer) {
					resolvedPermissions << aclPermissionFactory.buildFromMask(item)
				}
				else if (item instanceof Permission) {
					resolvedPermissions << item
				}
			}
		}
		else {
			// let the permissionEvaluator handle it
			return permissions
		}

		if (resolvedPermissions.any {it instanceof Permission}) {
			return resolvedPermissions as Permission[]
		}

		return permissions
	}