Exemplo n.º 1
0
        public virtual void InitOnUp(Transaction systemTrans, FieldMetadata fieldMetadata
                                     )
        {
            ObjectContainerBase anyStream = systemTrans.Container();

            if (!anyStream.MaintainsIndices())
            {
                return;
            }
            if (!fieldMetadata.SupportsIndex())
            {
                Indexed(false);
            }
            TernaryBool indexedFlag = _config.GetAsTernaryBool(IndexedKey);

            if (indexedFlag.DefiniteNo())
            {
                fieldMetadata.DropIndex((LocalTransaction)systemTrans);
                return;
            }
            if (UseExistingIndex(systemTrans, fieldMetadata))
            {
                return;
            }
            if (!indexedFlag.DefiniteYes())
            {
                return;
            }
            fieldMetadata.CreateIndex();
        }
Exemplo n.º 2
0
        public virtual int AdjustActivationDepth(int depth)
        {
            TernaryBool cascadeOnActivate = CascadeOnActivate();

            if (cascadeOnActivate.DefiniteYes() && depth < 2)
            {
                depth = 2;
            }
            if (cascadeOnActivate.DefiniteNo() && depth > 1)
            {
                depth = 1;
            }
            if (Config().ClassActivationDepthConfigurable())
            {
                int minimumActivationDepth = MinimumActivationDepth();
                if (minimumActivationDepth != 0 && depth < minimumActivationDepth)
                {
                    depth = minimumActivationDepth;
                }
                int maximumActivationDepth = MaximumActivationDepth();
                if (maximumActivationDepth != 0 && depth > maximumActivationDepth)
                {
                    depth = maximumActivationDepth;
                }
            }
            return(depth);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Checks if the current configuration scope is globally
        /// enabled or disabled.
        /// </summary>
        /// <remarks>
        /// Checks if the current configuration scope is globally
        /// enabled or disabled.
        /// </remarks>
        /// <param name="defaultValue">- default result</param>
        /// <returns>
        /// false if disabled, true if globally enabled, default
        /// value otherwise
        /// </returns>
        public bool ApplyConfig(TernaryBool defaultValue)
        {
            switch (_value)
            {
            case DisabledId:
            {
                return(false);
            }

            case GloballyId:
            {
                return(!defaultValue.DefiniteNo());
            }

            default:
            {
                return(defaultValue.DefiniteYes());

                break;
            }
            }
        }