Example #1
0
            public static bool TryParse(string rbacQuery, out RbacQuery.RbacQueryProcessor queryProcessor)
            {
                Match match = RbacQuery.CmdletQueryProcessor.regex.Match(rbacQuery);

                if (match.Success)
                {
                    queryProcessor = new RbacQuery.CmdletQueryProcessor(match);
                    return(true);
                }
                queryProcessor = null;
                return(false);
            }
Example #2
0
 public RbacQuery(string rbacQuery, ADRawEntry adRawEntry)
 {
     if (string.IsNullOrEmpty(rbacQuery))
     {
         throw new ArgumentNullException("rbacQuery");
     }
     if (!RbacQuery.WellKnownQueryProcessors.TryGetValue(rbacQuery, out this.queryProcessor) && !RbacQuery.ConditionalQueryProcessors.TryParse(rbacQuery, out this.queryProcessor) && !RbacQuery.CmdletQueryProcessor.TryParse(rbacQuery, out this.queryProcessor))
     {
         throw new ArgumentException(string.Format("'{0}' is not a valid RBAC query.", rbacQuery));
     }
     if (adRawEntry != null)
     {
         RbacQuery.CmdletQueryProcessor cmdletQueryProcessor = this.queryProcessor as RbacQuery.CmdletQueryProcessor;
         if (cmdletQueryProcessor != null)
         {
             cmdletQueryProcessor.TargetObject = adRawEntry;
         }
     }
 }