| AckUserWrite |
| CacheNode | A cache node only stores complete children. |
| CachePolicy | |
| CancelEvent | |
| Change | |
| ChildChangeAccumulator | |
| ChildEventListener | Classes implementing this interface can be used to receive events about changes in the child
locations of a given DatabaseReference ref. |
| Clock | |
| CustomClassMapper | Helper class to convert to/from custom POJO classes and plain Java types. |
| DatabaseError | Instances of DatabaseError are passed to callbacks when an operation failed. |
| DatabaseException | This error is thrown when the Firebase Database library is unable to operate on the input it has been given. |
| DatabaseReference | A Firebase reference represents a particular location in your Database and can be used for reading or writing data to that Database location. |
| DatabaseReference.CompletionListener | This interface is used as a method of being notified when an operation has been acknowledged by the Database servers and can be considered complete |
| DataEvent | |
| DataSnapshot | A DataSnapshot instance contains data from a Firebase Database location. |
| DefaultClock | |
| DefaultPersistenceManager | |
| DefaultRunLoop |
| Event | |
| Event.EventType | |
| EventGenerator | |
| EventRaiser | Each view owns an instance of this class, and it is used to send events to the event target thread. |
| Exclude | Marks a field as excluded from the Database. |
| FirebaseDatabase | The entry point for accessing a Firebase Database. |
| GenericTypeIndicator<T> | Due to the way that Java implements generics (type-erasure), it is necessary to use a slightly more complicated method to properly resolve types for generic collections at runtime. |
| IgnoreExtraProperties | Properties that don't map to class fields are ignored when serializing to a class annotated with this annotation. |
| ImmutableTree<T> | |
| ImmutableTree.TreeVisitor<T, R> | |
| IndexedFilter | Doesn't really filter nodes but applies an index to the node and keeps track of any changes |
| LimitedFilter | Applies a limit and a range to a node and uses RangedFilter to do the heavy lifting where possible |
| ListenComplete | |
| Logger | This interface is used to setup logging for Firebase Database. |
| Logger.Level | The log levels used by the Firebase Database library |
| LRUCachePolicy |
| Merge | |
| MutableData | Instances of this class encapsulate the data and priority at a location. |
| NameAndPriority | |
| NodeAndPath | |
| NodeFilter | NodeFilter is used to update nodes and complete children of nodes while applying queries on the fly and keeping track of any child changes. |
| NodeFilter.CompleteChildSource | Since updates to filtered nodes might require nodes to be pulled in from "outside" the node, this interface can help to get complete children that can be pulled in. |
| NodeSizeEstimator | |
| NoopPersistenceManager |
| OffsetClock | |
| OnDisconnect | The OnDisconnect class is used to manage operations that will be run on the server when this client disconnects. |
| Operation | |
| Operation.OperationType | |
| OperationSource | |
| Overwrite |
| Pair<T, U> | |
| ParsedUrl | |
| PathAndId | |
| PersistenceManager | |
| PersistenceStorageEngine | This class provides an interface to a persistent cache. |
| Predicate<T> | |
| PropertyName | Marks a field to be renamed when serialized. |
| PruneForest | Forest of "prune trees" where a prune tree is a location that can be pruned with a tree of descendants that must be excluded from the pruning. |
| PushIdGenerator |
| Query | The Query class (and its subclass, DatabaseReference) are used for reading data. |
| QueryParams | |
| QuerySpec |
| RangedFilter | Filters nodes by range and uses an IndexFilter to track any changes after filtering the node |
| ServerValue | Contains placeholder values to use when writing data to the Firebase Database. |
| ThrowOnExtraProperties | Properties that don't map to class fields when serializing to a class annotated with this annotation cause an exception to be thrown. |
| TrackedQuery | |
| TrackedQueryManager | |
| Transaction | The Transaction class encapsulates the functionality needed to perform a transaction on the data at a location. |
| Transaction.Handler | An object implementing this interface is used to run a transaction, and will be notified of the results of the transaction. |
| Transaction.Result | Instances of this class represent the desired outcome of a single run of a Transaction.Handler's
doTransaction method. |
| Tree<T> | |
| Tree.TreeFilter<T> | |
| Tree.TreeVisitor<T> | |
| TreeNode<T> |
| Utilities |
| Validation | |
| ValueEventListener | Classes implementing this interface can be used to receive events about data changes at a location. |
| View | |
| View.OperationResult | |
| ViewCache | |
| ViewProcessor | |
| ViewProcessor.ProcessorResult |