# Record Class EventsCompactionConfig

java.lang.Object
java.lang.Record
com.google.adk.summarizer.EventsCompactionConfig

Record Components:
  `compactionInterval` - The number of new user-initiated invocations that, once fully represented in the session's events, will trigger a compaction.
  `overlapSize` - The number of preceding invocations to include from the end of the last compacted range. This creates an overlap between consecutive compacted summaries, maintaining context.
  `summarizer` - An event summarizer to use for compaction.
  `tokenThreshold` - The number of tokens above which compaction will be triggered. If null, no token limit will be enforced. It will trigger compaction within the invocation.
  `eventRetentionSize` - The maximum number of events to retain and preserve from compaction. If null, no event retention limit will be enforced.

public record EventsCompactionConfig(@Nullable Integer compactionInterval, @Nullable Integer overlapSize, @Nullable BaseEventSummarizer summarizer, @Nullable Integer tokenThreshold, @Nullable Integer eventRetentionSize) extends Record
Configuration for event compaction.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `EventsCompactionConfig.Builder`
  Builder for `EventsCompactionConfig`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EventsCompactionConfig(int compactionInterval, int overlapSize)`
  `EventsCompactionConfig(int compactionInterval, int overlapSize, @Nullable BaseEventSummarizer summarizer)`
  `EventsCompactionConfig(@Nullable Integer compactionInterval, @Nullable Integer overlapSize, @Nullable BaseEventSummarizer summarizer, @Nullable Integer tokenThreshold, @Nullable Integer eventRetentionSize)`
  Creates an instance of a `EventsCompactionConfig` record class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static EventsCompactionConfig.Builder`
  `builder()`
  `@Nullable Integer`
  `compactionInterval()`
  Returns the value of the `compactionInterval` record component.
  `final boolean`
  `equals(Object o)`
  Indicates whether some other object is "equal to" this one.
  `@Nullable Integer`
  `eventRetentionSize()`
  Returns the value of the `eventRetentionSize` record component.
  `final int`
  `hashCode()`
  Returns a hash code value for this object.
  `boolean`
  `hasSlidingWindowCompactionConfig()`
  `@Nullable Integer`
  `overlapSize()`
  Returns the value of the `overlapSize` record component.
  `@Nullable BaseEventSummarizer`
  `summarizer()`
  Returns the value of the `summarizer` record component.
  `EventsCompactionConfig.Builder`
  `toBuilder()`
  `@Nullable Integer`
  `tokenThreshold()`
  Returns the value of the `tokenThreshold` record component.
  `final String`
  `toString()`
  Returns a string representation of this record class.

  ### Methods inherited from class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### EventsCompactionConfig

    public EventsCompactionConfig(int compactionInterval, int overlapSize)

  - ### EventsCompactionConfig

    public EventsCompactionConfig(int compactionInterval, int overlapSize, @Nullable BaseEventSummarizer summarizer)

  - ### EventsCompactionConfig

    public EventsCompactionConfig(@Nullable Integer compactionInterval, @Nullable Integer overlapSize, @Nullable BaseEventSummarizer summarizer, @Nullable Integer tokenThreshold, @Nullable Integer eventRetentionSize)
    Creates an instance of a `EventsCompactionConfig` record class.
    Parameters:
      `compactionInterval` - the value for the `compactionInterval` record component
      `overlapSize` - the value for the `overlapSize` record component
      `summarizer` - the value for the `summarizer` record component
      `tokenThreshold` - the value for the `tokenThreshold` record component
      `eventRetentionSize` - the value for the `eventRetentionSize` record component

- ## Method Details

  - ### builder

    public static EventsCompactionConfig.Builder builder()

  - ### toBuilder

    public EventsCompactionConfig.Builder toBuilder()

  - ### hasSlidingWindowCompactionConfig

    public boolean hasSlidingWindowCompactionConfig()

  - ### toString

    public final String toString()
    Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
    Specified by:
      `toString` in class `Record`
    Returns:
      a string representation of this object

  - ### hashCode

    public final int hashCode()
    Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
    Specified by:
      `hashCode` in class `Record`
    Returns:
      a hash code value for this object

  - ### equals

    public final boolean equals(Object o)
    Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with `Objects::equals(Object,Object)`.
    Specified by:
      `equals` in class `Record`
    Parameters:
      `o` - the object with which to compare
    Returns:
      `true` if this object is the same as the `o` argument; `false` otherwise.

  - ### compactionInterval

    public @Nullable Integer compactionInterval()
    Returns the value of the `compactionInterval` record component.
    Returns:
      the value of the `compactionInterval` record component

  - ### overlapSize

    public @Nullable Integer overlapSize()
    Returns the value of the `overlapSize` record component.
    Returns:
      the value of the `overlapSize` record component

  - ### summarizer

    public @Nullable BaseEventSummarizer summarizer()
    Returns the value of the `summarizer` record component.
    Returns:
      the value of the `summarizer` record component

  - ### tokenThreshold

    public @Nullable Integer tokenThreshold()
    Returns the value of the `tokenThreshold` record component.
    Returns:
      the value of the `tokenThreshold` record component

  - ### eventRetentionSize

    public @Nullable Integer eventRetentionSize()
    Returns the value of the `eventRetentionSize` record component.
    Returns:
      the value of the `eventRetentionSize` record component