A C D E F G I L M N O P Q R S T U V

A

AckUserWrite  

C

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. 

D

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  

E

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. 

F

FirebaseDatabase The entry point for accessing a Firebase Database. 

G

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. 

I

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  

L

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  

M

Merge  
MutableData Instances of this class encapsulate the data and priority at a location. 

N

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  

O

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  

P

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  

Q

Query The Query class (and its subclass, DatabaseReference) are used for reading data. 
QueryParams  
QuerySpec  

R

RangedFilter Filters nodes by range and uses an IndexFilter to track any changes after filtering the node  

S

ServerValue Contains placeholder values to use when writing data to the Firebase Database. 

T

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>  

U

Utilities  

V

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