Exemple #1
0
        //    public void visit(Object a_tree) {
        //      final QCandidate parent = (QCandidate) a_tree;
        //      if (parent.createChild(this)) {
        //          return;
        //      }
        //
        //      // No object found.
        //      // All children constraints are necessarily false.
        //      // Check immediately.
        //		Iterator4 i = iterateConstraints();
        //		while(i.moveNext()){
        //			((QCon)i.current()).visitOnNull(parent.getRoot());
        //		}
        //
        //    }
        public void Filter(QField field, IParentCandidate parent)
        {
            if (parent.CreateChild(field, this))
            {
                return;
            }
            // No object found.
            // All children constraints are necessarily false.
            // Check immediately.
            IEnumerator i = IterateConstraints();

            while (i.MoveNext())
            {
                ((QCon)i.Current).VisitOnNull(parent.GetRoot());
            }
        }
Exemple #2
0
        public virtual void Filter(QField field, IParentCandidate candidate)
        {
            candidate.UseField(field);
            bool res       = true;
            bool processed = false;

            if (_checkClassMetadataOnly)
            {
                ClassMetadata classMetadata = candidate.ClassMetadata();
                if (classMetadata != null)
                {
                    res = i_evaluator.Not(_classMetadata.GetHigherHierarchy(classMetadata) == _classMetadata
                                          );
                    processed = true;
                }
            }
            if (!processed)
            {
                res = Evaluate(candidate);
            }
            Visit1(candidate.GetRoot(), this, res);
        }
Exemple #3
0
		//    public void visit(Object a_tree) {
		//    	final QCandidate parent = (QCandidate) a_tree;
		//    	if (parent.createChild(this)) {
		//    		return;
		//    	}
		//    	
		//    	// No object found.
		//    	// All children constraints are necessarily false.
		//    	// Check immediately.
		//		Iterator4 i = iterateConstraints();
		//		while(i.moveNext()){
		//			((QCon)i.current()).visitOnNull(parent.getRoot());
		//		}
		//    		
		//    }
		public void Filter(QField field, IParentCandidate parent)
		{
			if (parent.CreateChild(field, this))
			{
				return;
			}
			// No object found.
			// All children constraints are necessarily false.
			// Check immediately.
			IEnumerator i = IterateConstraints();
			while (i.MoveNext())
			{
				((QCon)i.Current).VisitOnNull(parent.GetRoot());
			}
		}
Exemple #4
0
		public virtual void Filter(QField field, IParentCandidate candidate)
		{
			candidate.UseField(field);
			bool res = true;
			bool processed = false;
			if (_checkClassMetadataOnly)
			{
				ClassMetadata classMetadata = candidate.ClassMetadata();
				if (classMetadata != null)
				{
					res = i_evaluator.Not(_classMetadata.GetHigherHierarchy(classMetadata) == _classMetadata
						);
					processed = true;
				}
			}
			if (!processed)
			{
				res = Evaluate(candidate);
			}
			Visit1(candidate.GetRoot(), this, res);
		}