コード例 #1
0
        internal static CapabilityIdentifierEvaluator Create(Capability capability)
        {
            ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "Entering ValidationRuleFactory.GetEvaluator({0})", capability.ToString());
            switch (capability)
            {
            case Capability.BPOS_S_Deskless:
            case Capability.BPOS_S_Standard:
            case Capability.BPOS_S_Enterprise:
            case Capability.BPOS_S_Archive:
            case Capability.BPOS_L_Standard:
            case Capability.BPOS_B_Standard:
            case Capability.BPOS_B_CustomDomain:
            case Capability.BPOS_S_MidSize:
            case Capability.BPOS_S_ArchiveAddOn:
            case Capability.BPOS_S_EopStandardAddOn:
            case Capability.BPOS_S_EopPremiumAddOn:
            case Capability.BPOS_Unmanaged:
            case Capability.TOU_Signed:
            case Capability.Partner_Managed:
            case Capability.ExcludedFromBackSync:
            case Capability.OrganizationCapabilityUMGrammar:
            case Capability.OrganizationCapabilityUMDataStorage:
            case Capability.OrganizationCapabilityOABGen:
            case Capability.OrganizationCapabilityGMGen:
            case Capability.OrganizationCapabilityClientExtensions:
            case Capability.OrganizationCapabilityUMGrammarReady:
            case Capability.OrganizationCapabilityMailRouting:
            case Capability.OrganizationCapabilityManagement:
            case Capability.OrganizationCapabilityTenantUpgrade:
            case Capability.OrganizationCapabilityScaleOut:
            case Capability.OrganizationCapabilityMessageTracking:
            case Capability.OrganizationCapabilityPstProvider:
            case Capability.OrganizationCapabilitySuiteServiceStorage:
            case Capability.OrganizationCapabilityOfficeMessageEncryption:
            case Capability.OrganizationCapabilityMigration:
                ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "ValidationRuleFactory.GetEvaluator({0}) returns SimpleCapabilityIdentifierEvaluator", capability.ToString());
                return(new SimpleCapabilityIdentifierEvaluator(capability));

            case Capability.FederatedUser:
                ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "ValidationRuleFactory.GetEvaluator({0}) returns FederatedUserCapabilityIdentifierEvaluator", capability.ToString());
                return(new FederatedUserCapabilityIdentifierEvaluator(capability));

            case Capability.MasteredOnPremise:
                ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "ValidationRuleFactory.GetEvaluator({0}) returns MasteredOnPremiseCapabilityIdentifierEvaluator", capability.ToString());
                return(new MasteredOnPremiseCapabilityIdentifierEvaluator(capability));

            case Capability.ResourceMailbox:
                ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "ValidationRuleFactory.GetEvaluator({0}) returns ResourceMailboxCapabilityIdentifierEvaluator", capability.ToString());
                return(new ResourceMailboxCapabilityIdentifierEvaluator(capability));

            case Capability.UMFeatureRestricted:
                ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "ValidationRuleFactory.GetEvaluator({0}) returns UMFeatureRestrictedCapabilityIdentifierEvaluator", capability.ToString());
                return(new UMFeatureRestrictedCapabilityIdentifierEvaluator(capability));

            case Capability.RichCoexistence:
                ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "ValidationRuleFactory.GetEvaluator({0}) returns RichCoexistenceCapabilityIdentifierEvaluator", capability.ToString());
                return(new RichCoexistenceCapabilityIdentifierEvaluator(capability));

            case Capability.BEVDirLockdown:
                ExTraceGlobals.PublicCreationAPITracer.TraceDebug <string>((long)capability.GetHashCode(), "ValidationRuleFactory.GetEvaluator({0}) returns BEVDirLockdownCapabilityIdentifierEvaluator", capability.ToString());
                return(new BEVDirLockdownCapabilityIdentifierEvaluator(capability));
            }
            throw new NotSupportedException("Unsupported capability." + capability.ToString());
        }