[[["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-08-07 UTC."],[[["\u003cp\u003e\u003ccode\u003eFactoryProvider<I>\u003c/code\u003e is an abstract base class for creating service factories that can be registered with the \u003ccode\u003eProviderRegistry\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt implements the \u003ccode\u003eComparable<FactoryProvider<?>>\u003c/code\u003e interface, enabling sorting based on entry precedence, ensuring higher precedence entries appear later in a sorted list.\u003c/p\u003e\n"],["\u003cp\u003eThe class provides methods such as \u003ccode\u003ecompareTo\u003c/code\u003e, \u003ccode\u003eequals\u003c/code\u003e, \u003ccode\u003egetBaseInterface\u003c/code\u003e, \u003ccode\u003egetFactoryInstance\u003c/code\u003e, and \u003ccode\u003ehashCode\u003c/code\u003e, to manage factory instances and ensure proper ordering.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFactoryProvider\u003c/code\u003e includes a constructor, \u003ccode\u003eFactoryProvider(Class<I> baseInterface)\u003c/code\u003e, that takes a \u003ccode\u003eClass<I>\u003c/code\u003e parameter representing the base interface.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetFactoryInstance()\u003c/code\u003e method, which must be implemented, returns an instance of the factory, indicated by the type parameter \u003ccode\u003eI\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Class FactoryProvider<I> (2.0.0)\n\n public abstract class FactoryProvider\u003cI\u003e implements Comparable\u003cFactoryProvider\u003c?\u003e\u003e\n\nA base class for service factory creation that can be registered with the ProviderRegistry. \n\nInheritance\n-----------\n\n[Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e FactoryProvider\\\u003cI\\\u003e \n\nImplements\n----------\n\n[Comparable\\\u003cFactoryProvider\\\u003c?\\\u003e\\\u003e](https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable\u003ccom/google/appengine/spi/FactoryProvider\u003c) \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### FactoryProvider(Class\\\u003cI\\\u003e baseInterface)\n\n protected FactoryProvider(Class\u003cI\u003e baseInterface)\n\nMethods\n-------\n\n### compareTo(FactoryProvider\\\u003c?\\\u003e o)\n\n public int compareTo(FactoryProvider\u003c?\u003e o)\n\nThis ensures that a list of these will be sorted so that higher precedence entries come later\nin the list.\n\n### equals(Object o)\n\n public boolean equals(Object o)\n\nIncluded to support sorting by precedence (@see #compareTo(FactoryProvider))\n\n**Overrides** \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-)\n\n### getBaseInterface()\n\n protected Class\u003cI\u003e getBaseInterface()\n\n### getFactoryInstance()\n\n protected abstract I getFactoryInstance()\n\nReturn an instance of the factory\n\n### hashCode()\n\n public int hashCode()\n\n**Overrides** \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--)"]]