예제 #1
0
        public override bool MatchObjectWithOid(NeoDatis.Odb.OID oid, bool returnObject,
                                                bool inMemory)
        {
            currentOid = oid;
            // Gets a map with the values with the fields involved in the query
            values = objectReader.ReadObjectInfoValuesFromOID(classInfo, currentOid, true, involvedFields
                                                              , involvedFields, 0, criteriaQuery.GetOrderByFieldNames());
            bool objectMatches = true;

            if (!criteriaQuery.IsForSingleOid())
            {
                // Then apply the query on the field values
                objectMatches = NeoDatis.Odb.Impl.Core.Query.Criteria.CriteriaQueryManager.Match(
                    criteriaQuery, values);
            }
            NeoDatis.Odb.Core.Layers.Layer2.Meta.ObjectInfoHeader oih = values.GetObjectInfoHeader
                                                                            ();
            // Stores the next position
            nextOID = oih.GetNextObjectOID();
            return(objectMatches);
        }