com.independentsoft.exchange

## Class GroupBy

- java.lang.Object
- - com.independentsoft.exchange.GroupBy

- All Implemented Interfaces:
    IGroupBy

      public class GroupBy
      extends java.lang.Object
      implements IGroupBy

  Specifies an arbitrary grouping for FindItem queries.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GroupBy()` Initializes a new instance of the GroupBy class.
    `GroupBy(PropertyPath propertyPath)` Initializes a new instance of the GroupBy class.
    `GroupBy(PropertyPath propertyPath, AggregateOn aggregateOn)` Initializes a new instance of the GroupBy class.
    `GroupBy(PropertyPath propertyPath, SortDirection order)` Initializes a new instance of the GroupBy class.
    `GroupBy(PropertyPath propertyPath, SortDirection order, AggregateOn aggregateOn)` Initializes a new instance of the GroupBy class.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AggregateOn` | `getAggregateOn()` Gets the field that is used to determine the order of groups in a response.
    `SortDirection` | `getOrder()` Gets the order of the groups in the grouped item array that is returned in the response.
    `PropertyPath` | `getPropertyPath()` Identifies frequently referenced properties by URI.
    `void` | `setAggregateOn(AggregateOn aggregateOn)` Sets the field that is used to determine the order of groups in a response.
    `void` | `setOrder(SortDirection order)` Sets the order of the groups in the grouped item array that is returned in the response.
    `void` | `setPropertyPath(PropertyPath propertyPath)` Sets the property path.
    `java.lang.String` | `toString()` Converts the value of the current GroupBy object to its equivalent string representation.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### GroupBy

          public GroupBy()

      Initializes a new instance of the GroupBy class.

    - #### GroupBy

          public GroupBy(PropertyPath propertyPath)

      Initializes a new instance of the GroupBy class.
      Parameters:
        `propertyPath` - the property path

    - #### GroupBy

          public GroupBy(PropertyPath propertyPath,
                         SortDirection order)

      Initializes a new instance of the GroupBy class.
      Parameters:
        `propertyPath` - the property path
        `order` - the order

    - #### GroupBy

          public GroupBy(PropertyPath propertyPath,
                         AggregateOn aggregateOn)

      Initializes a new instance of the GroupBy class.
      Parameters:
        `propertyPath` - the property path
        `aggregateOn` - the aggregate on

    - #### GroupBy

          public GroupBy(PropertyPath propertyPath,
                         SortDirection order,
                         AggregateOn aggregateOn)

      Initializes a new instance of the GroupBy class.
      Parameters:
        `propertyPath` - the property path
        `order` - the order
        `aggregateOn` - the aggregate on

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Converts the value of the current GroupBy object to its equivalent string representation.
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        the string

    - #### getPropertyPath

          public PropertyPath getPropertyPath()

      Identifies frequently referenced properties by URI.
      Returns:
        the property path

    - #### setPropertyPath

          public void setPropertyPath(PropertyPath propertyPath)

      Sets the property path.
      Parameters:
        `propertyPath` - the new property path

    - #### getOrder

          public SortDirection getOrder()

      Gets the order of the groups in the grouped item array that is returned in the response.
      Returns:
        the order

    - #### setOrder

          public void setOrder(SortDirection order)

      Sets the order of the groups in the grouped item array that is returned in the response.
      Parameters:
        `order` - the new order

    - #### getAggregateOn

          public AggregateOn getAggregateOn()

      Gets the field that is used to determine the order of groups in a response.
      Returns:
        the aggregate on

    - #### setAggregateOn

          public void setAggregateOn(AggregateOn aggregateOn)

      Sets the field that is used to determine the order of groups in a response.
      Parameters:
        `aggregateOn` - the new aggregate on