public IReadOnlyDictionary <string, object> CreateBindingData(BlobPath actualBlobPath)
        {
            if (actualBlobPath == null)
            {
                return(null);
            }

            // The path source may be a container name only. In that case, ignore the blob name for determining a match.
            if (actualBlobPath.ToString() == ToString() ||
                (String.IsNullOrEmpty(_innerPath.BlobName) && actualBlobPath.ContainerName == _innerPath.ContainerName))
            {
                // Some consumers understand null as "blob didn't match". Return an empty dictionary instead for that case.
                return(new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase));
            }
            else
            {
                return(null);
            }
        }
        public IReadOnlyDictionary <string, object> CreateBindingData(BlobPath actualBlobPath)
        {
            if (actualBlobPath == null)
            {
                return(null);
            }

            // Containers must match
            if (!String.Equals(ContainerNamePattern, actualBlobPath.ContainerName, StringComparison.OrdinalIgnoreCase))
            {
                return(null);
            }

            // Pattern is container only
            if (String.IsNullOrEmpty(BlobNamePattern))
            {
                return(new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase));
            }

            return(_template.CreateBindingData(actualBlobPath.ToString()));
        }
 public override string ToString()
 {
     return(_innerPath.ToString());
 }