Package com.veeva.vault.sdk.api.picklist


package com.veeva.vault.sdk.api.picklist
This package provides interfaces to retrieve picklist information.

Picklist field types are defined as a single-value or multi-valued field. A picklist field stores the name of each picklist value, and each name has a corresponding UI label.

Example: Label in Vault's Base Language

The following example illustrates retrieving a single-value picklist field name and label in the Vault's base language:
     
      PicklistService picklistService = ServiceLocator.locate(PicklistService.class);
      Picklist authorityPicklist = picklistService.getPicklist("authority__c");

      List picklistValues = inputRecord.getNew().getValue("authority__c", ValueType.PICKLIST_VALUES);
      if (picklistValues != null && !picklistValues.isEmpty()) {

           //Get single-picklist value name selected by user
           String authorityPicklistValueName = picklistValues.get(0).toString();

           //Get picklist value label
           String authorityPicklistValueLabel =
           authorityPicklist.getPicklistValue(authorityPicklistValueName).getLabel();

           //Default name__v field with picklist value label, in Vault base language
           inputRecord.getNew().setValue("name__v", "Auth: " + authorityPicklistValueLabel);
      }
     
 

Example: Label in User's Language

The following example illustrates retrieving a single-value picklist field name and label in the user's language:
     
      PicklistService picklistService = ServiceLocator.locate(PicklistService.class);

      //Build Picklist request builder with name
      PicklistRequest.Builder picklistRequestBuilder = picklistService.newPicklistRequestBuilder();
      PicklistRequest authorityPicklistRequest = picklistRequestBuilder.withName("authority__c").build();
      Picklist authorityPicklist = picklistService.getPicklist(authorityPicklistRequest);

      List picklistValues = inputRecord.getNew().getValue("authority__c", ValueType.PICKLIST_VALUES);
      if (picklistValues != null && !picklistValues.isEmpty()) {

          //Get single-picklist value name selected by user
          String authorityPicklistValueName = picklistValues.get(0).toString();

          //Get picklist value label
          String authorityPicklistValueLabel = authorityPicklist.getPicklistValue(authorityPicklistValueName).getLabel();

          //Default name__v field with picklist value label in user's language
          inputRecord.getNew().setValue("name__v", "Auth in User's language: " + authorityPicklistValueLabel);
       }
     
 

Example: Label in a Specified Language

The following example illustrates creating a single-value picklist field name and label in a specified language:
     
     //Build Picklist request builder with name and language
      PicklistRequest.Builder picklistRequestBuilder =
     	    picklistService.newPicklistRequestBuilder();
      PicklistRequest statePicklistRequest = picklistRequestBuilder
 	        .withName("state_cda__v")
 	        .withLanguage("en")
 	        .build();

      Picklist statePicklist = picklistService.getPicklist(statePicklistRequest);