[{"data":1,"prerenderedAt":1702},["ShallowReactive",2],{"navigation_docs":3,"-sdks-openfeature-java":172,"-sdks-openfeature-java-surround":973,"sdks\u002Fopenfeature-java\u002Finstall":978,"sdks\u002Fopenfeature-java\u002Fconfigure":1146,"sdks\u002Fopenfeature-java\u002Fsimple-usage":1295,"sdks\u002Fopenfeature-java\u002Fuser-context":1388},[4,36,156],{"title":5,"icon":6,"modifiedAt":7,"path":8,"stem":9,"children":10,"page":6},"Getting Started",false,"2026-04-30T19:15:33.000Z","\u002Fgetting-started","1.getting-started",[11,16,21,26,31],{"title":12,"path":13,"stem":14,"icon":15},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F1.quickstart","i-lucide-fast-forward",{"title":17,"path":18,"stem":19,"icon":20},"Core Concepts","\u002Fgetting-started\u002Fcore-concepts","1.getting-started\u002F2.core-concepts","i-lucide-workflow",{"title":22,"path":23,"stem":24,"icon":25},"Configs Anatomy","\u002Fgetting-started\u002Fconfigs","1.getting-started\u002F3.configs","i-lucide-file-cog",{"title":27,"path":28,"stem":29,"icon":30},"Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F4.architecture","i-lucide-layers",{"title":32,"path":33,"stem":34,"icon":35},"JSON Schema Validation","\u002Fgetting-started\u002Fjson-schema-validation","1.getting-started\u002F5.json-schema-validation","i-lucide-braces",{"title":37,"modifiedAt":38,"defaultOpen":39,"path":40,"stem":41,"children":42,"page":6},"SDKs","2026-05-02T18:15:50.000Z",true,"\u002Fsdks","2.sdks",[43,48,69,94,111,137],{"title":44,"path":45,"stem":46,"icon":47},"Available SDKs","\u002Fsdks\u002Favailable-sdks","2.sdks\u002F1.available-sdks","i-lucide-list",{"title":49,"modifiedAt":38,"icon":50,"defaultOpen":39,"path":51,"stem":52,"children":53,"page":6},"Browser SDKs","i-lucide-monitor","\u002Fsdks\u002Fbrowser","2.sdks\u002F2.browser",[54,59,64],{"title":55,"path":56,"stem":57,"icon":58},"Javascript","\u002Fsdks\u002Fbrowser\u002Fjavascript","2.sdks\u002F2.browser\u002F1.javascript","cd-logos-javascript",{"title":60,"path":61,"stem":62,"icon":63},"React","\u002Fsdks\u002Fbrowser\u002Freact","2.sdks\u002F2.browser\u002F2.react","cd-logos-react-light",{"title":65,"path":66,"stem":67,"icon":68},"Vue","\u002Fsdks\u002Fbrowser\u002Fvue","2.sdks\u002F2.browser\u002F3.vue","cd-logos-vue",{"title":70,"modifiedAt":38,"icon":71,"defaultOpen":39,"path":72,"stem":73,"children":74,"page":6},"Mobile SDKs","i-lucide-smartphone","\u002Fsdks\u002Fmobile","2.sdks\u002F3.mobile",[75,79,84,89],{"title":76,"path":77,"stem":78,"icon":63},"React Native","\u002Fsdks\u002Fmobile\u002Freact-native","2.sdks\u002F3.mobile\u002F1.react-native",{"title":80,"path":81,"stem":82,"icon":83},"Flutter","\u002Fsdks\u002Fmobile\u002Fflutter","2.sdks\u002F3.mobile\u002F2.flutter","cd-logos-flutter",{"title":85,"path":86,"stem":87,"icon":88},"Swift","\u002Fsdks\u002Fmobile\u002Fswift","2.sdks\u002F3.mobile\u002F3.swift","cd-logos-swift",{"title":90,"path":91,"stem":92,"icon":93},"Android","\u002Fsdks\u002Fmobile\u002Fandroid","2.sdks\u002F3.mobile\u002F4.android","cd-logos-android",{"title":95,"modifiedAt":96,"icon":97,"defaultOpen":39,"path":98,"stem":99,"children":100,"page":6},"Meta-framework SDKs","2026-05-02T18:29:14.000Z","i-lucide-monitor-smartphone","\u002Fsdks\u002Fmeta","2.sdks\u002F4.meta",[101,106],{"title":102,"path":103,"stem":104,"icon":105},"Next.js","\u002Fsdks\u002Fmeta\u002Fnextjs","2.sdks\u002F4.meta\u002F1.nextjs","cd-logos-nextjs",{"title":107,"path":108,"stem":109,"icon":110},"Nuxt","\u002Fsdks\u002Fmeta\u002Fnuxt","2.sdks\u002F4.meta\u002F2.nuxt","cd-logos-nuxt",{"title":112,"modifiedAt":96,"icon":113,"defaultOpen":39,"path":114,"stem":115,"children":116,"page":6},"Server SDKs","i-lucide-server","\u002Fsdks\u002Fserver","2.sdks\u002F5.server",[117,122,127,132],{"title":118,"path":119,"stem":120,"icon":121},"Node.js","\u002Fsdks\u002Fserver\u002Fnode-js","2.sdks\u002F5.server\u002F1.node-js","cd-logos-nodejs",{"title":123,"path":124,"stem":125,"icon":126},"Python","\u002Fsdks\u002Fserver\u002Fpython","2.sdks\u002F5.server\u002F2.python","cd-logos-python",{"title":128,"path":129,"stem":130,"icon":131},"Java","\u002Fsdks\u002Fserver\u002Fjava","2.sdks\u002F5.server\u002F3.java","cd-logos-java",{"title":133,"path":134,"stem":135,"icon":136},".NET","\u002Fsdks\u002Fserver\u002Fdotnet","2.sdks\u002F5.server\u002F4.dotnet","cd-logos-dotnet",{"title":138,"modifiedAt":139,"icon":140,"defaultOpen":39,"path":141,"stem":142,"children":143,"page":6},"OpenFeature Providers","2026-09-21T01:40:45.000Z","cd-logos-openfeature","\u002Fsdks\u002Fopenfeature","2.sdks\u002F6.openfeature",[144,148,152],{"title":145,"path":146,"stem":147,"icon":140},"OpenFeature Web","\u002Fsdks\u002Fopenfeature\u002Fweb","2.sdks\u002F6.openfeature\u002F1.web",{"title":149,"path":150,"stem":151,"icon":140},"OpenFeature Node.js","\u002Fsdks\u002Fopenfeature\u002Fnode-js","2.sdks\u002F6.openfeature\u002F2.node-js",{"title":153,"path":154,"stem":155,"icon":140},"OpenFeature Java","\u002Fsdks\u002Fopenfeature\u002Fjava","2.sdks\u002F6.openfeature\u002F3.java",{"title":157,"modifiedAt":158,"defaultOpen":39,"path":159,"stem":160,"children":161,"page":6},"Integrations","2026-07-31T18:08:51.000Z","\u002Fintegrations","3.integrations",[162,167],{"title":163,"path":164,"stem":165,"icon":166},"Terraform","\u002Fintegrations\u002Fterraform","3.integrations\u002F1.terraform","cd-logos-terraform",{"title":168,"path":169,"stem":170,"icon":171},"MCP","\u002Fintegrations\u002Fmcp","3.integrations\u002F2.mcp","cd-logos-mcp",{"id":173,"title":174,"body":175,"description":966,"extension":967,"links":968,"meta":969,"navigation":970,"path":154,"seo":971,"stem":155,"__hash__":972},"docs\u002F2.sdks\u002F6.openfeature\u002F3.java.md","OpenFeature Java Provider",{"type":176,"value":177,"toc":953},"minimark",[178,182,188,193,210,217,220,224,230,233,237,241,258,261,265,275,280,283,290,419,426,430,433,458,462,465,468,471,538,544,680,687,691,698,781,788,792,795,798,861,866,870,877,939,949],[179,180],"div",{"hidden":39,"dataTitleIcon":181},"openfeature",[183,184],"external-badges",{"package-url":185,"registry":186,"repo":187},"https:\u002F\u002Fcentral.sonatype.com\u002Fartifact\u002Fcom.configdirector\u002Fconfigdirector-openfeature-server-provider","maven","java-sdks\u002Ftree\u002Fmain\u002Fconfigdirector-openfeature-server-provider",[189,190,192],"h2",{"id":191},"introduction","Introduction",[194,195,196,197,205,206,209],"p",{},"The OpenFeature Java Provider is intended to be used in combination with the ",[198,199,204],"a",{"href":200,"rel":201,"target":203},"https:\u002F\u002Fopenfeature.dev\u002Fdocs\u002Freference\u002Fsdks\u002Fserver\u002Fjava\u002F",[202],"noopener","_blank","OpenFeature Java SDK",". The provider wraps the ConfigDirector ",[198,207,208],{"href":129},"Java SDK",".",[194,211,212,213,209],{},"The minimum Java version supported is ",[214,215,216],"code",{},"17",[194,218,219],{},"The provider is thread safe. Register one instance when your application starts, and shut OpenFeature down when it stops. Evaluations read config state the provider already holds in memory, so they make no network calls on the request path.",[189,221,223],{"id":222},"installation","Installation",[194,225,226,227],{},"The provider can be installed from Maven Central: ",[198,228,185],{"href":185,"rel":229,"target":203},[202],[194,231,232],{},"The OpenFeature Java SDK and the ConfigDirector Java SDK are included as transitive dependencies.",[234,235],"content-partial",{"name":236},"sdks\u002Fopenfeature-java\u002Finstall",[189,238,240],{"id":239},"configure-and-initialize-the-client","Configure and initialize the client",[242,243,244,252,255],"ol",{},[245,246,247,248,251],"li",{},"Create an instance of the provider using your server SDK key. You can retrieve a server SDK key for each environment under ",[214,249,250],{},"SDK Keys"," in the dashboard's navigation panel.",[245,253,254],{},"Set the OpenFeature provider.",[245,256,257],{},"Get a client instance from OpenFeature.",[234,259],{"name":260},"sdks\u002Fopenfeature-java\u002Fconfigure",[262,263,264],"warning",{},"Server SDK keys are secret values. Do not commit them to your source code repository. Provide them at runtime via environment variables instead.",[194,266,267,270,271,274],{},[214,268,269],{},"setProviderAndWait"," blocks until the initial config state arrives or the configured timeout elapses, and it does not throw on a connection failure. Until config state arrives, evaluations return the default value with the ",[214,272,273],{},"PROVIDER_NOT_READY"," error code, and the provider continues to connect in the background.",[276,277,279],"h3",{"id":278},"additional-configuration-options","Additional configuration options",[194,281,282],{},"Additional configuration options can be passed into the provider in the optional second argument of the constructor.",[194,284,285,286,289],{},"For example, the ",[214,287,288],{},"metadata"," can be provided like this:",[291,292,298],"pre",{"className":293,"code":294,"filename":295,"language":296,"meta":297,"style":297},"language-java shiki shiki-themes material-theme-lighter github-light github-dark","import com.configdirector.openfeature.ConfigDirectorProvider;\n\nConfigDirectorProvider provider = new ConfigDirectorProvider(\n    \"YOUR-SERVER-SDK-KEY\",\n    options -> options.metadata(\"YOUR-APP-NAME\", \"1.0.2\"));\n","ConfigDirectorSetup.java","java","",[214,299,300,331,337,361,378],{"__ignoreMap":297},[301,302,305,309,313,316,319,321,323,325,328],"span",{"class":303,"line":304},"line",1,[301,306,308],{"class":307},"sw1J6","import",[301,310,312],{"class":311},"s_bVq"," com",[301,314,209],{"class":315},"sP7_E",[301,317,318],{"class":311},"configdirector",[301,320,209],{"class":315},[301,322,181],{"class":311},[301,324,209],{"class":315},[301,326,327],{"class":311},"ConfigDirectorProvider",[301,329,330],{"class":315},";\n",[301,332,334],{"class":303,"line":333},2,[301,335,336],{"emptyLinePlaceholder":39},"\n",[301,338,340,342,346,350,354,358],{"class":303,"line":339},3,[301,341,327],{"class":311},[301,343,345],{"class":344},"su5hD"," provider ",[301,347,349],{"class":348},"smGrS","=",[301,351,353],{"class":352},"sVHd0"," new",[301,355,357],{"class":356},"sGLFI"," ConfigDirectorProvider",[301,359,360],{"class":315},"(\n",[301,362,364,368,372,375],{"class":303,"line":363},4,[301,365,367],{"class":366},"sjJ54","    \"",[301,369,371],{"class":370},"s_sjI","YOUR-SERVER-SDK-KEY",[301,373,374],{"class":366},"\"",[301,376,377],{"class":315},",\n",[301,379,381,384,388,391,393,395,398,400,403,405,408,411,414,416],{"class":303,"line":380},5,[301,382,383],{"class":344},"    options ",[301,385,387],{"class":386},"sbsja","->",[301,389,390],{"class":344}," options",[301,392,209],{"class":315},[301,394,288],{"class":356},[301,396,397],{"class":315},"(",[301,399,374],{"class":366},[301,401,402],{"class":370},"YOUR-APP-NAME",[301,404,374],{"class":366},[301,406,407],{"class":315},",",[301,409,410],{"class":366}," \"",[301,412,413],{"class":370},"1.0.2",[301,415,374],{"class":366},[301,417,418],{"class":315},"));\n",[194,420,421,422,209],{},"The provider accepts the same configuration options as the Java SDK client, ",[198,423,425],{"href":424},"\u002Fsdks\u002Fserver\u002Fjava#additional-configuration-options","refer to the additional configuration options section of the Java SDK for a full list",[276,427,429],{"id":428},"shut-down","Shut down",[194,431,432],{},"Shutting OpenFeature down closes the provider, which closes its connections and reports any pending telemetry:",[291,434,437],{"className":293,"code":435,"filename":436,"language":296,"meta":297,"style":297},"OpenFeatureAPI.getInstance().shutdown();\n","Main.java",[214,438,439],{"__ignoreMap":297},[301,440,441,444,446,449,452,455],{"class":303,"line":304},[301,442,443],{"class":344},"OpenFeatureAPI",[301,445,209],{"class":315},[301,447,448],{"class":356},"getInstance",[301,450,451],{"class":315},"().",[301,453,454],{"class":356},"shutdown",[301,456,457],{"class":315},"();\n",[189,459,461],{"id":460},"retrieve-config-values","Retrieve config values",[194,463,464],{},"To retrieve config values, use the OpenFeature client:",[234,466],{"name":467},"sdks\u002Fopenfeature-java\u002Fsimple-usage",[194,469,470],{},"Each OpenFeature getter maps to a ConfigDirector config type:",[472,473,474,487],"table",{},[475,476,477],"thead",{},[478,479,480,484],"tr",{},[481,482,483],"th",{},"OpenFeature getter",[481,485,486],{},"ConfigDirector config value",[488,489,490,501,511,528],"tbody",{},[478,491,492,498],{},[493,494,495],"td",{},[214,496,497],{},"getBooleanValue",[493,499,500],{},"Boolean",[478,502,503,508],{},[493,504,505],{},[214,506,507],{},"getStringValue",[493,509,510],{},"String or enum",[478,512,513,525],{},[493,514,515,518,519,518,522],{},[214,516,517],{},"getIntegerValue",", ",[214,520,521],{},"getLongValue",[214,523,524],{},"getDoubleValue",[493,526,527],{},"Number",[478,529,530,535],{},[493,531,532],{},[214,533,534],{},"getObjectValue",[493,536,537],{},"JSON object or JSON array",[194,539,540,541,543],{},"For ",[214,542,534],{},", the default value decides the expected shape: provide a structure for a JSON object, or a list for a JSON array.",[291,545,547],{"className":293,"code":546,"filename":436,"language":296,"meta":297,"style":297},"import dev.openfeature.sdk.ImmutableStructure;\nimport dev.openfeature.sdk.Value;\n\nValue settings = client.getObjectValue(\"my-json-config-key\", new Value(new ImmutableStructure()));\nString theme = settings.asStructure().getValue(\"theme\").asString();\n",[214,548,549,572,593,597,640],{"__ignoreMap":297},[301,550,551,553,556,558,560,562,565,567,570],{"class":303,"line":304},[301,552,308],{"class":307},[301,554,555],{"class":311}," dev",[301,557,209],{"class":315},[301,559,181],{"class":311},[301,561,209],{"class":315},[301,563,564],{"class":311},"sdk",[301,566,209],{"class":315},[301,568,569],{"class":311},"ImmutableStructure",[301,571,330],{"class":315},[301,573,574,576,578,580,582,584,586,588,591],{"class":303,"line":333},[301,575,308],{"class":307},[301,577,555],{"class":311},[301,579,209],{"class":315},[301,581,181],{"class":311},[301,583,209],{"class":315},[301,585,564],{"class":311},[301,587,209],{"class":315},[301,589,590],{"class":311},"Value",[301,592,330],{"class":315},[301,594,595],{"class":303,"line":339},[301,596,336],{"emptyLinePlaceholder":39},[301,598,599,601,604,606,609,611,613,615,617,620,622,624,626,629,631,634,637],{"class":303,"line":363},[301,600,590],{"class":311},[301,602,603],{"class":344}," settings ",[301,605,349],{"class":348},[301,607,608],{"class":344}," client",[301,610,209],{"class":315},[301,612,534],{"class":356},[301,614,397],{"class":315},[301,616,374],{"class":366},[301,618,619],{"class":370},"my-json-config-key",[301,621,374],{"class":366},[301,623,407],{"class":315},[301,625,353],{"class":352},[301,627,628],{"class":356}," Value",[301,630,397],{"class":315},[301,632,633],{"class":352},"new",[301,635,636],{"class":356}," ImmutableStructure",[301,638,639],{"class":315},"()));\n",[301,641,642,645,648,650,653,655,658,660,663,665,667,670,672,675,678],{"class":303,"line":380},[301,643,644],{"class":311},"String",[301,646,647],{"class":344}," theme ",[301,649,349],{"class":348},[301,651,652],{"class":344}," settings",[301,654,209],{"class":315},[301,656,657],{"class":356},"asStructure",[301,659,451],{"class":315},[301,661,662],{"class":356},"getValue",[301,664,397],{"class":315},[301,666,374],{"class":366},[301,668,669],{"class":370},"theme",[301,671,374],{"class":366},[301,673,674],{"class":315},").",[301,676,677],{"class":356},"asString",[301,679,457],{"class":315},[194,681,682,683,209],{},"For additional information regarding the OpenFeature client ",[198,684,686],{"href":200,"rel":685,"target":203},[202],"refer to the OpenFeature Java SDK documentation",[276,688,690],{"id":689},"evaluation-details","Evaluation details",[194,692,693,694,697],{},"The detailed getters of the OpenFeature client, such as ",[214,695,696],{},"getBooleanDetails",", report why an evaluation produced the value that it did:",[472,699,700,713],{},[475,701,702],{},[478,703,704,707,710],{},[481,705,706],{},"Outcome",[481,708,709],{},"Reason",[481,711,712],{},"Error code",[488,714,715,727,739,754,767],{},[478,716,717,720,725],{},[493,718,719],{},"A value was found",[493,721,722],{},[214,723,724],{},"TARGETING_MATCH",[493,726],{},[478,728,729,732,737],{},[493,730,731],{},"The config carries no value",[493,733,734],{},[214,735,736],{},"DEFAULT",[493,738],{},[478,740,741,744,749],{},[493,742,743],{},"The config key is unknown",[493,745,746],{},[214,747,748],{},"ERROR",[493,750,751],{},[214,752,753],{},"FLAG_NOT_FOUND",[478,755,756,759,763],{},[493,757,758],{},"No config state has arrived yet",[493,760,761],{},[214,762,748],{},[493,764,765],{},[214,766,273],{},[478,768,769,772,776],{},[493,770,771],{},"The value does not match the requested type",[493,773,774],{},[214,775,748],{},[493,777,778],{},[214,779,780],{},"TYPE_MISMATCH",[194,782,783,784,787],{},"When a value was found, the ",[214,785,786],{},"variant"," is ConfigDirector's identifier for that value. In every other case the default value is returned.",[189,789,791],{"id":790},"user-context","User context",[234,793],{"name":794},"sdks\u002Fopenfeature-java\u002Fuser-context",[194,796,797],{},"The evaluation context maps onto the ConfigDirector user context as follows:",[472,799,800,810],{},[475,801,802],{},[478,803,804,807],{},[481,805,806],{},"OpenFeature evaluation context",[481,808,809],{},"ConfigDirector user context",[488,811,812,825,837,849],{},[478,813,814,821],{},[493,815,816,817,820],{},"The targeting key, or otherwise an ",[214,818,819],{},"id"," attribute",[493,822,823],{},[214,824,819],{},[478,826,827,833],{},[493,828,829,830,820],{},"The ",[214,831,832],{},"name",[493,834,835],{},[214,836,832],{},[478,838,839,845],{},[493,840,829,841,844],{},[214,842,843],{},"traits"," structure attribute",[493,846,847],{},[214,848,843],{},[478,850,851,857],{},[493,852,853,854,820],{},"The boolean ",[214,855,856],{},"anonymous",[493,858,859],{},[214,860,856],{},[194,862,682,863,209],{},[198,864,686],{"href":200,"rel":865,"target":203},[202],[189,867,869],{"id":868},"events","Events",[194,871,872,873,876],{},"The provider emits ",[214,874,875],{},"PROVIDER_CONFIGURATION_CHANGED"," whenever configs are updated on the dashboard or via the admin API, carrying the keys of the configs in the update:",[291,878,880],{"className":293,"code":879,"filename":436,"language":296,"meta":297,"style":297},"OpenFeatureAPI.getInstance().onProviderConfigurationChanged(\n    details -> System.out.println(\"Configs updated: \" + details.getFlagsChanged()));\n",[214,881,882,897],{"__ignoreMap":297},[301,883,884,886,888,890,892,895],{"class":303,"line":304},[301,885,443],{"class":344},[301,887,209],{"class":315},[301,889,448],{"class":356},[301,891,451],{"class":315},[301,893,894],{"class":356},"onProviderConfigurationChanged",[301,896,360],{"class":315},[301,898,899,902,904,907,909,912,914,917,919,921,924,926,929,932,934,937],{"class":303,"line":333},[301,900,901],{"class":344},"    details ",[301,903,387],{"class":386},[301,905,906],{"class":344}," System",[301,908,209],{"class":315},[301,910,911],{"class":344},"out",[301,913,209],{"class":315},[301,915,916],{"class":356},"println",[301,918,397],{"class":315},[301,920,374],{"class":366},[301,922,923],{"class":370},"Configs updated: ",[301,925,374],{"class":366},[301,927,928],{"class":348}," +",[301,930,931],{"class":344}," details",[301,933,209],{"class":315},[301,935,936],{"class":356},"getFlagsChanged",[301,938,639],{"class":315},[194,940,941,942,945,946,948],{},"It emits ",[214,943,944],{},"PROVIDER_READY"," when the initial config state arrives after ",[214,947,269],{}," has already returned.",[950,951,952],"style",{},"html pre.shiki code .sw1J6, html code.shiki .sw1J6{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_bVq, html code.shiki .s_bVq{--shiki-light:#9C3EDA;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":297,"searchDepth":333,"depth":333,"links":954},[955,956,957,961,964,965],{"id":191,"depth":333,"text":192},{"id":222,"depth":333,"text":223},{"id":239,"depth":333,"text":240,"children":958},[959,960],{"id":278,"depth":339,"text":279},{"id":428,"depth":339,"text":429},{"id":460,"depth":333,"text":461,"children":962},[963],{"id":689,"depth":339,"text":690},{"id":790,"depth":333,"text":791},{"id":868,"depth":333,"text":869},"ConfigDirector Provider for the OpenFeature Java SDK","md",null,{"modifiedAt":139},{"title":153,"icon":140},{"title":174,"description":966},"ttZnCKCmh9aTM_PGuZcBmaHtzZew3IuRWQ3xYFNM9EI",[974,976],{"title":149,"path":150,"stem":151,"description":975,"icon":140,"children":-1},"ConfigDirector Provider for the OpenFeature Node.js SDK",{"title":163,"path":164,"stem":165,"description":977,"icon":166,"children":-1},"Manage projects, environments, configs, and targeting rules as code with the ConfigDirector Terraform provider",{"id":979,"title":980,"body":981,"description":297,"extension":967,"meta":1141,"navigation":6,"path":1142,"seo":1143,"stem":1144,"__hash__":1145},"partials\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Finstall.md","Install",{"type":176,"value":982,"toc":1139},[983,1136],[984,985,986,1020,1051],"code-group",{},[291,987,992],{"className":988,"code":989,"filename":990,"language":991,"meta":297,"style":297},"language-kotlin shiki shiki-themes material-theme-lighter github-light github-dark","dependencies {\n    implementation(\"com.configdirector:configdirector-openfeature-server-provider:1.0.0\")\n}\n","build.gradle.kts","kotlin",[214,993,994,1002,1015],{"__ignoreMap":297},[301,995,996,999],{"class":303,"line":304},[301,997,998],{"class":356},"dependencies",[301,1000,1001],{"class":344}," {\n",[301,1003,1004,1007,1009,1012],{"class":303,"line":333},[301,1005,1006],{"class":356},"    implementation",[301,1008,397],{"class":344},[301,1010,1011],{"class":370},"\"com.configdirector:configdirector-openfeature-server-provider:1.0.0\"",[301,1013,1014],{"class":344},")\n",[301,1016,1017],{"class":303,"line":339},[301,1018,1019],{"class":344},"}\n",[291,1021,1026],{"className":1022,"code":1023,"filename":1024,"language":1025,"meta":297,"style":297},"language-groovy shiki shiki-themes material-theme-lighter github-light github-dark","dependencies {\n    implementation 'com.configdirector:configdirector-openfeature-server-provider:1.0.0'\n}\n","build.gradle","groovy",[214,1027,1028,1033,1047],{"__ignoreMap":297},[301,1029,1030],{"class":303,"line":304},[301,1031,1032],{"class":344},"dependencies {\n",[301,1034,1035,1038,1041,1044],{"class":303,"line":333},[301,1036,1037],{"class":344},"    implementation ",[301,1039,1040],{"class":366},"'",[301,1042,1043],{"class":370},"com.configdirector:configdirector-openfeature-server-provider:1.0.0",[301,1045,1046],{"class":366},"'\n",[301,1048,1049],{"class":303,"line":339},[301,1050,1019],{"class":344},[291,1052,1057],{"className":1053,"code":1054,"filename":1055,"language":1056,"meta":297,"style":297},"language-xml shiki shiki-themes material-theme-lighter github-light github-dark","\u003Cdependency>\n  \u003CgroupId>com.configdirector\u003C\u002FgroupId>\n  \u003CartifactId>configdirector-openfeature-server-provider\u003C\u002FartifactId>\n  \u003Cversion>1.0.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n","pom.xml","xml",[214,1058,1059,1071,1092,1110,1128],{"__ignoreMap":297},[301,1060,1061,1064,1068],{"class":303,"line":304},[301,1062,1063],{"class":315},"\u003C",[301,1065,1067],{"class":1066},"sQzsp","dependency",[301,1069,1070],{"class":315},">\n",[301,1072,1073,1076,1079,1082,1085,1088,1090],{"class":303,"line":333},[301,1074,1075],{"class":315},"  \u003C",[301,1077,1078],{"class":1066},"groupId",[301,1080,1081],{"class":315},">",[301,1083,1084],{"class":344},"com.configdirector",[301,1086,1087],{"class":315},"\u003C\u002F",[301,1089,1078],{"class":1066},[301,1091,1070],{"class":315},[301,1093,1094,1096,1099,1101,1104,1106,1108],{"class":303,"line":339},[301,1095,1075],{"class":315},[301,1097,1098],{"class":1066},"artifactId",[301,1100,1081],{"class":315},[301,1102,1103],{"class":344},"configdirector-openfeature-server-provider",[301,1105,1087],{"class":315},[301,1107,1098],{"class":1066},[301,1109,1070],{"class":315},[301,1111,1112,1114,1117,1119,1122,1124,1126],{"class":303,"line":363},[301,1113,1075],{"class":315},[301,1115,1116],{"class":1066},"version",[301,1118,1081],{"class":315},[301,1120,1121],{"class":344},"1.0.0",[301,1123,1087],{"class":315},[301,1125,1116],{"class":1066},[301,1127,1070],{"class":315},[301,1129,1130,1132,1134],{"class":303,"line":380},[301,1131,1087],{"class":315},[301,1133,1067],{"class":1066},[301,1135,1070],{"class":315},[950,1137,1138],{},"html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":297,"searchDepth":333,"depth":333,"links":1140},[],{},"\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Finstall",{"description":297},"_partials\u002Fsdks\u002Fopenfeature-java\u002Finstall","pBtFpKkvu16INucs8ocBr8znalgG-mTHJFFZulLZgMc",{"id":1147,"title":1148,"body":1149,"description":297,"extension":967,"meta":1290,"navigation":6,"path":1291,"seo":1292,"stem":1293,"__hash__":1294},"partials\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Fconfigure.md","Configure",{"type":176,"value":1150,"toc":1288},[1151,1285],[291,1152,1154],{"className":293,"code":1153,"filename":295,"language":296,"meta":297,"style":297},"import com.configdirector.openfeature.ConfigDirectorProvider;\nimport dev.openfeature.sdk.Client;\nimport dev.openfeature.sdk.OpenFeatureAPI;\n\nOpenFeatureAPI api = OpenFeatureAPI.getInstance();\napi.setProviderAndWait(new ConfigDirectorProvider(\"YOUR-SERVER-SDK-KEY\"));\nClient client = api.getClient();\n",[214,1155,1156,1176,1197,1217,1221,1239,1265],{"__ignoreMap":297},[301,1157,1158,1160,1162,1164,1166,1168,1170,1172,1174],{"class":303,"line":304},[301,1159,308],{"class":307},[301,1161,312],{"class":311},[301,1163,209],{"class":315},[301,1165,318],{"class":311},[301,1167,209],{"class":315},[301,1169,181],{"class":311},[301,1171,209],{"class":315},[301,1173,327],{"class":311},[301,1175,330],{"class":315},[301,1177,1178,1180,1182,1184,1186,1188,1190,1192,1195],{"class":303,"line":333},[301,1179,308],{"class":307},[301,1181,555],{"class":311},[301,1183,209],{"class":315},[301,1185,181],{"class":311},[301,1187,209],{"class":315},[301,1189,564],{"class":311},[301,1191,209],{"class":315},[301,1193,1194],{"class":311},"Client",[301,1196,330],{"class":315},[301,1198,1199,1201,1203,1205,1207,1209,1211,1213,1215],{"class":303,"line":339},[301,1200,308],{"class":307},[301,1202,555],{"class":311},[301,1204,209],{"class":315},[301,1206,181],{"class":311},[301,1208,209],{"class":315},[301,1210,564],{"class":311},[301,1212,209],{"class":315},[301,1214,443],{"class":311},[301,1216,330],{"class":315},[301,1218,1219],{"class":303,"line":363},[301,1220,336],{"emptyLinePlaceholder":39},[301,1222,1223,1225,1228,1230,1233,1235,1237],{"class":303,"line":380},[301,1224,443],{"class":311},[301,1226,1227],{"class":344}," api ",[301,1229,349],{"class":348},[301,1231,1232],{"class":344}," OpenFeatureAPI",[301,1234,209],{"class":315},[301,1236,448],{"class":356},[301,1238,457],{"class":315},[301,1240,1242,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263],{"class":303,"line":1241},6,[301,1243,1244],{"class":344},"api",[301,1246,209],{"class":315},[301,1248,269],{"class":356},[301,1250,397],{"class":315},[301,1252,633],{"class":352},[301,1254,357],{"class":356},[301,1256,397],{"class":315},[301,1258,374],{"class":366},[301,1260,371],{"class":370},[301,1262,374],{"class":366},[301,1264,418],{"class":315},[301,1266,1268,1270,1273,1275,1278,1280,1283],{"class":303,"line":1267},7,[301,1269,1194],{"class":311},[301,1271,1272],{"class":344}," client ",[301,1274,349],{"class":348},[301,1276,1277],{"class":344}," api",[301,1279,209],{"class":315},[301,1281,1282],{"class":356},"getClient",[301,1284,457],{"class":315},[950,1286,1287],{},"html pre.shiki code .sw1J6, html code.shiki .sw1J6{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_bVq, html code.shiki .s_bVq{--shiki-light:#9C3EDA;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":297,"searchDepth":333,"depth":333,"links":1289},[],{},"\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Fconfigure",{"description":297},"_partials\u002Fsdks\u002Fopenfeature-java\u002Fconfigure","pn2CQxzGKZqEio4ZVb8RboiIiZrNUllhqZmi2eSQ14Y",{"id":1296,"title":1297,"body":1298,"description":297,"extension":967,"meta":1383,"navigation":6,"path":1384,"seo":1385,"stem":1386,"__hash__":1387},"partials\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Fsimple-usage.md","Simple Usage",{"type":176,"value":1299,"toc":1381},[1300,1378],[291,1301,1303],{"className":293,"code":1302,"filename":436,"language":296,"meta":297,"style":297},"boolean booleanValue = client.getBooleanValue(\"my-config-key\", false);\n\nString stringValue = client.getStringValue(\"my-string-config-key\", \"Default\");\n",[214,1304,1305,1339,1343],{"__ignoreMap":297},[301,1306,1307,1310,1313,1315,1317,1319,1321,1323,1325,1328,1330,1332,1336],{"class":303,"line":304},[301,1308,1309],{"class":386},"boolean",[301,1311,1312],{"class":344}," booleanValue ",[301,1314,349],{"class":348},[301,1316,608],{"class":344},[301,1318,209],{"class":315},[301,1320,497],{"class":356},[301,1322,397],{"class":315},[301,1324,374],{"class":366},[301,1326,1327],{"class":370},"my-config-key",[301,1329,374],{"class":366},[301,1331,407],{"class":315},[301,1333,1335],{"class":1334},"s39Yj"," false",[301,1337,1338],{"class":315},");\n",[301,1340,1341],{"class":303,"line":333},[301,1342,336],{"emptyLinePlaceholder":39},[301,1344,1345,1347,1350,1352,1354,1356,1358,1360,1362,1365,1367,1369,1371,1374,1376],{"class":303,"line":339},[301,1346,644],{"class":311},[301,1348,1349],{"class":344}," stringValue ",[301,1351,349],{"class":348},[301,1353,608],{"class":344},[301,1355,209],{"class":315},[301,1357,507],{"class":356},[301,1359,397],{"class":315},[301,1361,374],{"class":366},[301,1363,1364],{"class":370},"my-string-config-key",[301,1366,374],{"class":366},[301,1368,407],{"class":315},[301,1370,410],{"class":366},[301,1372,1373],{"class":370},"Default",[301,1375,374],{"class":366},[301,1377,1338],{"class":315},[950,1379,1380],{},"html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s_bVq, html code.shiki .s_bVq{--shiki-light:#9C3EDA;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":297,"searchDepth":333,"depth":333,"links":1382},[],{},"\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Fsimple-usage",{"description":297},"_partials\u002Fsdks\u002Fopenfeature-java\u002Fsimple-usage","zVHAGWvoZJ6o4uWu1JDivhcs9ZE5tUldKf2UKRM_g4Q",{"id":1389,"title":1390,"body":1391,"description":1395,"extension":967,"meta":1697,"navigation":6,"path":1698,"seo":1699,"stem":1700,"__hash__":1701},"partials\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Fuser-context.md","User Context",{"type":176,"value":1392,"toc":1695},[1393,1396,1692],[194,1394,1395],{},"The user context can be provided as the third argument to value getter functions of the OpenFeature client. The OpenFeature Java provider evaluates targeting rules locally without additional network calls for different contexts.",[291,1397,1399],{"className":293,"code":1398,"filename":436,"language":296,"meta":297,"style":297},"import dev.openfeature.sdk.EvaluationContext;\nimport dev.openfeature.sdk.ImmutableContext;\nimport dev.openfeature.sdk.ImmutableStructure;\nimport dev.openfeature.sdk.Value;\nimport java.util.Map;\n\n\u002F\u002F Any arbitrary traits which can be referenced in targeting rules\nImmutableStructure traits = new ImmutableStructure(Map.of(\"region\", new Value(\"North America\")));\n\nEvaluationContext context = new ImmutableContext(\n    \"12345\", \u002F\u002F In OpenFeature, the targeting key represents the context's user ID\n    Map.of(\"name\", new Value(\"Example User\"), \"traits\", new Value(traits)));\n\nboolean booleanValue = client.getBooleanValue(\"my-config-key\", false, context);\n",[214,1400,1401,1422,1443,1463,1483,1502,1506,1512,1562,1567,1584,1599,1653,1658],{"__ignoreMap":297},[301,1402,1403,1405,1407,1409,1411,1413,1415,1417,1420],{"class":303,"line":304},[301,1404,308],{"class":307},[301,1406,555],{"class":311},[301,1408,209],{"class":315},[301,1410,181],{"class":311},[301,1412,209],{"class":315},[301,1414,564],{"class":311},[301,1416,209],{"class":315},[301,1418,1419],{"class":311},"EvaluationContext",[301,1421,330],{"class":315},[301,1423,1424,1426,1428,1430,1432,1434,1436,1438,1441],{"class":303,"line":333},[301,1425,308],{"class":307},[301,1427,555],{"class":311},[301,1429,209],{"class":315},[301,1431,181],{"class":311},[301,1433,209],{"class":315},[301,1435,564],{"class":311},[301,1437,209],{"class":315},[301,1439,1440],{"class":311},"ImmutableContext",[301,1442,330],{"class":315},[301,1444,1445,1447,1449,1451,1453,1455,1457,1459,1461],{"class":303,"line":339},[301,1446,308],{"class":307},[301,1448,555],{"class":311},[301,1450,209],{"class":315},[301,1452,181],{"class":311},[301,1454,209],{"class":315},[301,1456,564],{"class":311},[301,1458,209],{"class":315},[301,1460,569],{"class":311},[301,1462,330],{"class":315},[301,1464,1465,1467,1469,1471,1473,1475,1477,1479,1481],{"class":303,"line":363},[301,1466,308],{"class":307},[301,1468,555],{"class":311},[301,1470,209],{"class":315},[301,1472,181],{"class":311},[301,1474,209],{"class":315},[301,1476,564],{"class":311},[301,1478,209],{"class":315},[301,1480,590],{"class":311},[301,1482,330],{"class":315},[301,1484,1485,1487,1490,1492,1495,1497,1500],{"class":303,"line":380},[301,1486,308],{"class":307},[301,1488,1489],{"class":311}," java",[301,1491,209],{"class":315},[301,1493,1494],{"class":311},"util",[301,1496,209],{"class":315},[301,1498,1499],{"class":311},"Map",[301,1501,330],{"class":315},[301,1503,1504],{"class":303,"line":1241},[301,1505,336],{"emptyLinePlaceholder":39},[301,1507,1508],{"class":303,"line":1267},[301,1509,1511],{"class":1510},"sutJx","\u002F\u002F Any arbitrary traits which can be referenced in targeting rules\n",[301,1513,1515,1517,1520,1522,1524,1526,1528,1530,1532,1535,1537,1539,1542,1544,1546,1548,1550,1552,1554,1557,1559],{"class":303,"line":1514},8,[301,1516,569],{"class":311},[301,1518,1519],{"class":344}," traits ",[301,1521,349],{"class":348},[301,1523,353],{"class":352},[301,1525,636],{"class":356},[301,1527,397],{"class":315},[301,1529,1499],{"class":344},[301,1531,209],{"class":315},[301,1533,1534],{"class":356},"of",[301,1536,397],{"class":315},[301,1538,374],{"class":366},[301,1540,1541],{"class":370},"region",[301,1543,374],{"class":366},[301,1545,407],{"class":315},[301,1547,353],{"class":352},[301,1549,628],{"class":356},[301,1551,397],{"class":315},[301,1553,374],{"class":366},[301,1555,1556],{"class":370},"North America",[301,1558,374],{"class":366},[301,1560,1561],{"class":315},")));\n",[301,1563,1565],{"class":303,"line":1564},9,[301,1566,336],{"emptyLinePlaceholder":39},[301,1568,1570,1572,1575,1577,1579,1582],{"class":303,"line":1569},10,[301,1571,1419],{"class":311},[301,1573,1574],{"class":344}," context ",[301,1576,349],{"class":348},[301,1578,353],{"class":352},[301,1580,1581],{"class":356}," ImmutableContext",[301,1583,360],{"class":315},[301,1585,1587,1589,1592,1594,1596],{"class":303,"line":1586},11,[301,1588,367],{"class":366},[301,1590,1591],{"class":370},"12345",[301,1593,374],{"class":366},[301,1595,407],{"class":315},[301,1597,1598],{"class":1510}," \u002F\u002F In OpenFeature, the targeting key represents the context's user ID\n",[301,1600,1602,1605,1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1630,1632,1635,1637,1639,1641,1643,1645,1647,1649,1651],{"class":303,"line":1601},12,[301,1603,1604],{"class":344},"    Map",[301,1606,209],{"class":315},[301,1608,1534],{"class":356},[301,1610,397],{"class":315},[301,1612,374],{"class":366},[301,1614,832],{"class":370},[301,1616,374],{"class":366},[301,1618,407],{"class":315},[301,1620,353],{"class":352},[301,1622,628],{"class":356},[301,1624,397],{"class":315},[301,1626,374],{"class":366},[301,1628,1629],{"class":370},"Example User",[301,1631,374],{"class":366},[301,1633,1634],{"class":315},"),",[301,1636,410],{"class":366},[301,1638,843],{"class":370},[301,1640,374],{"class":366},[301,1642,407],{"class":315},[301,1644,353],{"class":352},[301,1646,628],{"class":356},[301,1648,397],{"class":315},[301,1650,843],{"class":344},[301,1652,1561],{"class":315},[301,1654,1656],{"class":303,"line":1655},13,[301,1657,336],{"emptyLinePlaceholder":39},[301,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1690],{"class":303,"line":1660},14,[301,1662,1309],{"class":386},[301,1664,1312],{"class":344},[301,1666,349],{"class":348},[301,1668,608],{"class":344},[301,1670,209],{"class":315},[301,1672,497],{"class":356},[301,1674,397],{"class":315},[301,1676,374],{"class":366},[301,1678,1327],{"class":370},[301,1680,374],{"class":366},[301,1682,407],{"class":315},[301,1684,1335],{"class":1334},[301,1686,407],{"class":315},[301,1688,1689],{"class":344}," context",[301,1691,1338],{"class":315},[950,1693,1694],{},"html pre.shiki code .sw1J6, html code.shiki .sw1J6{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_bVq, html code.shiki .s_bVq{--shiki-light:#9C3EDA;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":297,"searchDepth":333,"depth":333,"links":1696},[],{},"\u002F_partials\u002Fsdks\u002Fopenfeature-java\u002Fuser-context",{"description":1395},"_partials\u002Fsdks\u002Fopenfeature-java\u002Fuser-context","TNREq02aImq2Exzb-kh0iDdHtdpwGMi8W8yKs_JF9nQ",1789954930096]