Returns the interface implemented by this ServiceProvider. This is present for compatibility
reasons but should always be FactoryProvider, which is the default.
[[["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-09-04 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eServiceProvider\u003c/code\u003e interface determines the priority given to a \u003ccode\u003eFactoryProvider\u003c/code\u003e by the \u003ccode\u003eServiceFactoryFactory\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eServiceProvider\u003c/code\u003e implements the \u003ccode\u003eAnnotation\u003c/code\u003e interface, allowing it to be used as an annotation.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eDEFAULT_PRECEDENCE\u003c/code\u003e static field is of type \u003ccode\u003eint\u003c/code\u003e and is used for setting the default priority.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eprecedence()\u003c/code\u003e method, which returns an \u003ccode\u003eint\u003c/code\u003e, defines the priority level, where higher numbers take precedence.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003evalue()\u003c/code\u003e method returns the \u003ccode\u003eClass\u003c/code\u003e object representing the interface implemented, and it should be \u003ccode\u003eFactoryProvider\u003c/code\u003e for compatibility reasons.\u003c/p\u003e\n"]]],[],null,["# Annotation Type ServiceProvider (2.0.0)\n\n public interface ServiceProvider implements Annotation\n\nSpecifies the precedence that [ServiceFactoryFactory](/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.spi.ServiceFactoryFactory) gives to the annotated [FactoryProvider](/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.spi.FactoryProvider). \n\nImplements\n----------\n\n[Annotation](https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html)\n\nStatic Fields\n-------------\n\n### DEFAULT_PRECEDENCE\n\n public static final int DEFAULT_PRECEDENCE\n\nMethods\n-------\n\n### precedence()\n\n public abstract int precedence()\n\nHigher precedence will take priority over lower precedences for a given interface.\n\n### value()\n\n public abstract Class\u003c?\u003e value()\n\nReturns the interface implemented by this ServiceProvider. This is present for compatibility\nreasons but should always be [FactoryProvider](/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.spi.FactoryProvider), which is the default."]]