Exemple #1
0
            public object Apply(object current)
            {
                int id = ((int)current);
                CollectIdContext context = CollectIdContext.ForID(this._enclosing.i_trans, id);

                if (context == null)
                {
                    return(Iterators.Skip);
                }
                context.ClassMetadata().CollectIDs(context, fieldName);
                return(new TreeKeyIterator(context.Ids()));
            }
Exemple #2
0
                public void Visit(object treeInt)
                {
                    int            id     = ((TreeInt)treeInt)._key;
                    StatefulBuffer reader = stream.ReadStatefulBufferById(this._enclosing._enclosing.
                                                                          _trans, id);

                    if (reader != null)
                    {
                        ObjectHeader     oh      = new ObjectHeader(stream, reader);
                        CollectIdContext context = new CollectIdContext(this._enclosing._enclosing._trans
                                                                        , oh, reader);
                        oh.ClassMetadata().CollectIDs(context, fieldName);
                        Tree.Traverse(context.Ids(), new _IVisitor4_394(idsNew));
                    }
                }
Exemple #3
0
        public virtual IEnumerator ReferencesFrom(int id)
        {
            CollectIdContext context       = CollectIdContext.ForID(_transaction, id);
            ClassMetadata    classMetadata = context.ClassMetadata();

            if (null == classMetadata)
            {
                // most probably ClassMetadata reading
                return(Iterators.EmptyIterator);
            }
            if (!classMetadata.HasIdentity())
            {
                throw new InvalidOperationException(classMetadata.ToString());
            }
            if (!Handlers4.IsCascading(classMetadata.TypeHandler()))
            {
                return(Iterators.EmptyIterator);
            }
            classMetadata.CollectIDs(context);
            return(new TreeKeyIterator(context.Ids()));
        }
Exemple #4
0
 private void AssertCollectedIds(CollectIdContext context, object[] expectedReferences
                                 )
 {
     Iterator4Assert.SameContent(Iterators.Map(expectedReferences, new _IFunction4_66(
                                                   this)), new TreeKeyIterator(context.Ids()));
 }