Send feedback
  
   
 
  
    
      Class FactoryProvider<I> (2.0.0) 
  
  
  
   
  
    
  
  
    
    
    
    
    
    
    
    
    
      
  
  
  
    
public   abstract   class  FactoryProvider<I>   implements   Comparable<FactoryProvider <? >> 
  A base class for service factory creation that can be registered with the ProviderRegistry.
    Inheritance 
    Object  >  
    FactoryProvider<I> 
   
  
  
  
    
      
        Type Parameter  
      
        Name Description  
      
        I 
     
  
  Constructors
   
  FactoryProvider(Class<I> baseInterface) 
  
    
protected   FactoryProvider ( Class<I>   baseInterface )  
  
    
      
        Parameter  
      
        Name Description  
      
        baseInterfaceClass <I > 
     
  
  Methods
   
  compareTo(FactoryProvider<?> o) 
  
    
public   int   compareTo ( FactoryProvider <? >  o )  
  This ensures that a list of these will be sorted so that higher precedence entries come later
 in the list.
    
      
        Returns  
      
        Type Description  
      
        int  
     
  
  equals(Object o) 
  
    
public   boolean   equals ( Object   o )  
  Included to support sorting by precedence (@see #compareTo(FactoryProvider))
    
      
        Parameter  
      
        Name Description  
      
        oObject  
     
  
  
  Overrides 
  
  getBaseInterface() 
  
    
protected   Class<I>   getBaseInterface ()  
  
    
      
        Returns  
      
        Type Description  
      
        Class <I > 
     
  
  getFactoryInstance() 
  
    
protected   abstract   I   getFactoryInstance ()  
  Return an instance of the factory
    
      
        Returns  
      
        Type Description  
      
        I  
     
  
  hashCode() 
  
  
    
      
        Returns  
      
        Type Description  
      
        int  
     
  
  Overrides 
  
 
     
    
  
  
  
     
  
    
    
      
       
         
  
  
    
    Send feedback
  
   
 
       
    
    
  
  
 
  Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
  Last updated 2025-10-16 UTC.
 
 
  
  
    
    
    
      
  
  
    Need to tell us more?
  
   
 
     
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-10-16 UTC."],[],[]]