Class QCon

    • Field Detail

      • _children

        protected List4 _children
      • i_evaluator

        protected QE i_evaluator
      • i_parent

        protected QCon i_parent
    • Constructor Detail

      • QCon

        public QCon()
    • Method Detail

      • and

        public Constraint and​(Constraint andWith)
        Description copied from interface: Constraint
        Links two Constraints for AND evaluation. For example:
         query.constrain(Pilot.class);
         query.descend("points").constrain(101).smaller().and(query.descend("name").constrain("Test Pilot0"));

        will retrieve all pilots with points less than 101 and name as "Test Pilot0"
        Specified by:
        and in interface Constraint
        Parameters:
        andWith - the other Constraint
        Returns:
        a new Constraint, that can be used for further calls to Constraint.and(Constraint) and Constraint.or(Constraint)
      • canBeIndexLeaf

        public boolean canBeIndexLeaf()
      • canLoadByIndex

        public boolean canLoadByIndex()
      • contains

        public Constraint contains()
        Description copied from interface: Constraint
        Sets the evaluation mode to string contains comparison. This only works on strings. The contains comparison is case sensitive. For example:
         Pilot pilot = new Pilot("Test Pilot1", 100);
         container.store(pilot);
          ...
         query.constrain(Pilot.class);
         // All pilots with the name containing "est" will be retrieved
         query.descend("name").constrain("est").contains();

        Specified by:
        contains in interface Constraint
        Returns:
        this to allow the chaining of method calls.
        See Also:
        like() for case insensitive string comparison
      • equal

        public Constraint equal()
        Description copied from interface: Constraint
        Used in conjunction with Constraint.smaller() or Constraint.greater() to create constraints like "smaller or equal", "greater or equal". For example:
         query.constrain(Pilot.class);
         query.descend("points").constrain(101).smaller().equal();

        will return all pilots with points <= 101.
        Specified by:
        equal in interface Constraint
        Returns:
        this Constraint to allow the chaining of method calls.
      • canResolveByFieldIndex

        protected abstract boolean canResolveByFieldIndex()
      • getField

        public QField getField()
      • getObject

        public java.lang.Object getObject()
        Description copied from interface: Constraint
        Returns the Object the query graph was constrained with to create this Constraint.
        Specified by:
        getObject in interface Constraint
        Returns:
        Object the constraining object.
      • greater

        public Constraint greater()
        Description copied from interface: Constraint
        Sets the evaluation mode to >. For example:
         query.constrain(Pilot.class);
         query.descend("points").constrain(101).greater()

        will return all pilots with points > 101.
        Specified by:
        greater in interface Constraint
        Returns:
        this Constraint to allow the chaining of method calls.
      • hasChildren

        public boolean hasChildren()
      • hasParent

        public boolean hasParent()
      • parent

        public QCon parent()
      • hasJoins

        public boolean hasJoins()
      • hasObjectInParentPath

        public boolean hasObjectInParentPath​(java.lang.Object obj)
      • identity

        public Constraint identity()
        Description copied from interface: Constraint
        Sets the evaluation mode to identity comparison. In this case only objects having the same database identity will be included in the result set. For example:
         Pilot pilot = new Pilot("Test Pilot1", 100);
         Car car = new Car("Ferrari", pilot);
         container.store(car);
         Car otherCar = new Car("Ferrari", pilot);
         container.store(otherCar);
         Query query = container.query();
         query.constrain(Car.class);
         // All cars having pilot with the same database identity
         // will be retrieved.
         query.descend("pilot").constrain(pilot).identity();


        Specified by:
        identity in interface Constraint
        Returns:
        this Constraint to allow the chaining of method calls.
      • byExample

        public Constraint byExample()
        Description copied from interface: Constraint
        Set the evaluation mode to object comparison (query by example).
        Specified by:
        byExample in interface Constraint
        Returns:
        this to allow the chaining of method calls.
      • identityID

        public int identityID()
      • iterateJoins

        public Iterator4 iterateJoins()
      • iterateChildren

        public Iterator4 iterateChildren()
      • like

        public Constraint like()
        Description copied from interface: Constraint
        Sets the evaluation mode to "like" comparison. This is a contains comparison which is case insensitive. This only works on strings. This mode will include all objects having the constrain expression somewhere inside the string field. For example:
         Pilot pilot = new Pilot("Test Pilot1", 100);
         container.store(pilot);
          ...
         query.constrain(Pilot.class);
         // All pilots with the name containing "est" will be retrieved
         query.descend("name").constrain("est").like();

        Specified by:
        like in interface Constraint
        Returns:
        this to allow the chaining of method calls.
      • startsWith

        public Constraint startsWith​(boolean caseSensitive)
        Description copied from interface: Constraint
        Sets the evaluation mode to string startsWith comparison. For example:
         Pilot pilot = new Pilot("Test Pilot0", 100);
         container.store(pilot);
          ...
         query.constrain(Pilot.class);
         query.descend("name").constrain("Test").startsWith(true);

        Specified by:
        startsWith in interface Constraint
        Parameters:
        caseSensitive - comparison will be case sensitive if true, case insensitive otherwise
        Returns:
        this to allow the chaining of method calls.
      • endsWith

        public Constraint endsWith​(boolean caseSensitive)
        Description copied from interface: Constraint
        Sets the evaluation mode to string endsWith comparison. For example:
         Pilot pilot = new Pilot("Test Pilot0", 100);
         container.store(pilot);
          ...
        query.constrain(Pilot.class); query.descend("name").constrain("T0").endsWith(false);

        Specified by:
        endsWith in interface Constraint
        Parameters:
        caseSensitive - comparison will be case sensitive if true, case insensitive otherwise
        Returns:
        this to allow the chaining of method calls.
      • not

        public Constraint not()
        Description copied from interface: Constraint
        Turns on not() comparison. All objects not full filling the constrain condition will be returned. For example:
         Pilot pilot = new Pilot("Test Pilot1", 100);
         container.store(pilot);
          ...
         query.constrain(Pilot.class);
         query.descend("name").constrain("t0").endsWith(true).not();

        Specified by:
        not in interface Constraint
        Returns:
        this Constraint to allow the chaining of method calls.
      • onSameFieldAs

        public boolean onSameFieldAs​(QCon other)
        Parameters:
        other -
      • or

        public Constraint or​(Constraint orWith)
        Description copied from interface: Constraint
        Links two Constraints for OR evaluation. For example:

         query.constrain(Pilot.class);
         query.descend("points").constrain(101).greater().or(query.descend("name").constrain("Test Pilot0"));

        will retrieve all pilots with points more than 101 or pilots with the name "Test Pilot0"
        Specified by:
        or in interface Constraint
        Parameters:
        orWith - the other Constraint
        Returns:
        a new Constraint, that can be used for further calls to Constraint.and(Constraint) and Constraint.or(Constraint)
      • setCandidates

        public void setCandidates​(QCandidates a_candidates)
      • smaller

        public Constraint smaller()
        Description copied from interface: Constraint
        Sets the evaluation mode to <. For example:
         query.constrain(Pilot.class);
         query.descend("points").constrain(101).smaller()

        will return all pilots with points < 101.
        Specified by:
        smaller in interface Constraint
        Returns:
        this Constraint to allow the chaining of method calls.
      • streamLock

        protected java.lang.Object streamLock()
      • visit

        public void visit​(java.lang.Object obj)
        Specified by:
        visit in interface Visitor4
      • evaluator

        public QE evaluator()
      • setProcessedByIndex

        public void setProcessedByIndex​(QCandidates candidates)
      • internalSetProcessedByIndex

        protected void internalSetProcessedByIndex​(QCandidates candidates)
      • processedByIndex

        public boolean processedByIndex()
      • childrenCount

        public int childrenCount()
      • id

        public int id()