# Class App

java.lang.Object
com.google.adk.apps.App

public class App extends Object
Represents an LLM-backed agentic application.

An `App` is the top-level container for an agentic system powered by LLMs. It manages a root agent (`rootAgent`), which serves as the root of an agent tree, enabling coordination and communication across all agents in the hierarchy. The `plugins` are application-wide components that provide shared capabilities and services to the entire system.

- ## Nested Class Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static App.Builder`
  `builder()`
  `@Nullable ContextCacheConfig`
  `contextCacheConfig()`
  `@Nullable EventsCompactionConfig`
  `eventsCompactionConfig()`
  `String`
  `name()`
  `List<? extends Plugin>`
  `plugins()`
  `BaseAgent`
  `rootAgent()`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### name

    public String name()

  - ### rootAgent

    public BaseAgent rootAgent()

  - ### plugins

    public List<? extends Plugin> plugins()

  - ### eventsCompactionConfig

    public @Nullable EventsCompactionConfig eventsCompactionConfig()

  - ### contextCacheConfig

    public @Nullable ContextCacheConfig contextCacheConfig()

  - ### builder

    public static App.Builder builder()