Interface SelectResults<E>

  • All Superinterfaces:
    java.util.Collection<E>, java.lang.Iterable<E>
    All Known Subinterfaces:
    CqResults<E>

    public interface SelectResults<E>
    extends java.util.Collection<E>
    Contains the results of a executing a SELECT expression within a query. A SELECT expression results in SelectResults that contain instances of Struct if: (a) there is more than one projection in the projection attributes, or (b) if the projection is * and there is more than one collection specified in the FROM clause.

    Otherwise, a SELECT expression over a collection of domain objects results in SelectResults that contain domain objects, i.e. instances of domain classes such as String or Address.

     QueryService qs = cacheView.getQueryService();
    
     String select = "SELECT DISTINCT * FROM /root/employees " + "WHERE salary > 50000";
     Query query = qs.newQuery(select);
     SelectResults results = query.execute();
    
     for (Iterator iter = results.iterator(); iter.hasNext();) {
       Employee emp = (Employee) iter.next();
       System.out.println("Highly compensated: " + emp);
     }
    
     select = "SELECT DISTINCT age, address.zipCode FROM /root/employees " + "WHERE salary > 50000";
     query = qs.newQuery(select);
     results = query.execute();
    
     for (Iterator iter = results.iterator(); iter.hasNext();) {
       Struct struct = (Struct) iter.next();
       int age = ((Integer) struct.get("age")).intValue();
       String zipCode = (String) struct.get("zipCode");
       System.out.println(age + " -> " + zipCode);
     }
    
     
    Since:
    GemFire 4.0
    See Also:
    Query.execute()
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.List<E> asList()
      Returns this SelectedResults as a java.util.List.
      java.util.Set<E> asSet()
      Returns this SelectResults as a java.util.Set.
      CollectionType getCollectionType()
      Return the ObjectType for the type of collection this represents.
      boolean isModifiable()
      Return whether this collection is modifiable.
      int occurrences​(E element)
      Return the number of times element occurs in this collection, that is the number of duplicates element has in this collection as defined by the equals method.
      void setElementType​(ObjectType elementType)
      Specify a new elementType, overriding any existing known elementType.
      • Methods inherited from interface java.util.Collection

        add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
    • Method Detail

      • isModifiable

        boolean isModifiable()
        Return whether this collection is modifiable. The result of this method has no bearing on whether the elements in the collection themselves are modifiable.
        Returns:
        true if this collection is modifiable, false if not.
      • occurrences

        int occurrences​(E element)
        Return the number of times element occurs in this collection, that is the number of duplicates element has in this collection as defined by the equals method. If element is not present in this collection, then 0 is returned.
        Parameters:
        element - the element
        Returns:
        the number of occurrences of element
        Since:
        GemFire 5.1
      • asSet

        java.util.Set<E> asSet()
        Returns this SelectResults as a java.util.Set. If this collection is distinct and unordered, then no copying is necessary. Otherwise, the contents of this collection will be copied into a new instance of java.util.HashSet.
        Returns:
        Is this collection as a java.util.Set?
      • asList

        java.util.List<E> asList()
        Returns this SelectedResults as a java.util.List. If this collection is ordered, then no copying is necessary. Otherwise, the contents of this collection will be copied into a new instance of java.util.ArrayList.
        Returns:
        this collection as a java.util.List
      • getCollectionType

        CollectionType getCollectionType()
        Return the ObjectType for the type of collection this represents.
        Returns:
        the CollectionType for the type of collection this represents
      • setElementType

        void setElementType​(ObjectType elementType)
        Specify a new elementType, overriding any existing known elementType. This modifies the CollectionType for this object to be the same collection type but with the newly specified element type.
        Parameters:
        elementType - the new elementType