Class BinderTemplateRequest

java.lang.Object
com.veeva.vault.vapil.api.request.VaultRequest<BinderTemplateRequest>
com.veeva.vault.vapil.api.request.BinderTemplateRequest

public class BinderTemplateRequest extends VaultRequest<BinderTemplateRequest>
The Binder Template APIs retrieve information about Binder Templates
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#binder-templates
  • Method Details

    • retrieveBinderTemplateMetadata

      public BinderTemplateMetadataResponse retrieveBinderTemplateMetadata()
      Retrieve Binder Template Metadata

      Retrieve the metadata which defines the shape of binder templates in your vault.

      Returns:
      BinderTemplateMetadataResponse
      Vault API Endpoint:
       GET /api/{version}/metadata/objects/binders/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-binder-template-metadata
      Example Request:
       BinderTemplateMetadataResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .retrieveBinderTemplateMetadata();
      Example Response:
       for (Template data : response.getData()) {
         System.out.println("\n**** Data Item **** ");
         System.out.println("Name = " + data.getName());
         System.out.println("Type = " + data.getType());
         System.out.println("Requiredness = " + data.getRequiredness());
         System.out.println("Editable = " + data.getEditable());
         System.out.println("Multi Value = " + data.getMultiValue());
         System.out.println("Component = " + data.getComponent());
         System.out.println("Ordered = " + data.getOrdered());
       }
    • retrieveBinderTemplateNodeMetadata

      public BinderTemplateMetadataResponse retrieveBinderTemplateNodeMetadata()
      Retrieve Binder Template Node Metadata

      Retrieve the metadata which defines the shape of binder template nodes in your vault.

      Returns:
      BinderTemplateMetadataResponse
      Vault API Endpoint:
       GET /api/{version}/metadata/objects/binders/templates/bindernodes
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-binder-template-node-metadata
      Example Request:
       BinderTemplateMetadataResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .retrieveBinderTemplateNodeMetadata();
      Example Response:
       for (Template data : response.getData()) {
         System.out.println("\n**** Data Item **** ");
         System.out.println("Name = " + data.getName());
         System.out.println("Type = " + data.getType());
         System.out.println("Requiredness = " + data.getRequiredness());
         System.out.println("Editable = " + data.getEditable());
         System.out.println("Multi Value = " + data.getMultiValue());
         System.out.println("Enums = " + data.getEnums());
         System.out.println("Component = " + data.getComponent());
         System.out.println("Max Value = " + data.getMaxValue());
         System.out.println("Min Value = " + data.getMinValue());
         System.out.println("Scale = " + data.getScale());
       }
    • retrieveBinderTemplateCollection

      public BinderTemplateResponse retrieveBinderTemplateCollection()
      Retrieve Binder Template Collection

      Retrieve the collection of all binder templates in your vault.

      Returns:
      BinderTemplateResponse
      Vault API Endpoint:
       GET /api/{version}/objects/binders/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-binder-template-collection
      Example Request:
       BinderTemplateResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .retrieveBinderTemplateCollection();
      Example Response:
       for (BinderTemplate data : response.getData()) {
         System.out.println("\n**** Data Item **** ");
         System.out.println("Name = " + data.getName());
         System.out.println("Label = " + data.getLabel());
         System.out.println("Active = " + data.getActive());
         System.out.println("Type = " + data.getType());
         System.out.println("Subtype = " + data.getSubType());
         System.out.println("Classification = " + data.getClassification());
         System.out.println("Filing Model = " + data.getFilingModel());
       }
    • retrieveBinderTemplateAttributes

      public BinderTemplateResponse retrieveBinderTemplateAttributes(String templateName)
      Retrieve Binder Template Attributes

      Retrieve the attributes of a specific binder template in your vault.

      Parameters:
      templateName - The binder template name__v field value.
      Returns:
      BinderTemplateResponse
      Vault API Endpoint:
       GET /api/{version}/objects/binders/templates/{template_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-binder-template-attributes
      Example Request:
       BinderTemplateResponse templates = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .retrieveBinderTemplateCollection();
      Example Response:
       String templateName = templates.getData().get(0).getName();
      
       BinderTemplateResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
       .retrieveBinderTemplateAttributes(templateName);
      
       for (BinderTemplate data : response.getData()) {
         System.out.println("\n**** Data Item **** ");
         System.out.println("Name = " + data.getName());
         System.out.println("Label = " + data.getLabel());
         System.out.println("Active = " + data.getActive());
         System.out.println("Type = " + data.getType());
         System.out.println("Subtype = " + data.getSubType());
         System.out.println("Classification = " + data.getClassification());
         System.out.println("Filing Model = " + data.getFilingModel());
       }
    • retrieveBinderTemplateNodeAttributes

      public BinderTemplateResponse retrieveBinderTemplateNodeAttributes(String templateName)
      Retrieve Binder Template Node Attributes

      Retrieve the attributes of each node (folder/section) of a specific binder template in your vault.

      Parameters:
      templateName - The binder template name__v field value.
      Returns:
      BinderTemplateResponse
      Vault API Endpoint:
       GET /api/{version}/objects/binders/templates/{template_name}/bindernodes
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-binder-template-node-attributes
      Example Request:
       BinderTemplateResponse resp = vaultClient.newRequest(BinderTemplateRequest.class)
       .retrieveBinderTemplateNodeAttributes(binderTemplateName);
      Example Response:
       for (BinderTemplate data : resp.getData()) {
         System.out.println("\n**** Data Item **** ");
         System.out.println("Id = " + data.getId());
         System.out.println("Parent Id = " + data.getParentId());
         System.out.println("Node Type = " + data.getNodeType());
         System.out.println("Label = " + data.getLabel());
         System.out.println("Type = " + data.getType());
         System.out.println("Subtype = " + data.getSubType());
         System.out.println("Classification = " + data.getClassification());
         System.out.println("Lifecycle = " + data.getLifecycle());
         System.out.println("Number = " + data.getNumber());
         System.out.println("Order = " + data.getOrder());
         System.out.println("Hierarchy Mapping = " + data.getHierarchyMapping());
       }
    • createBinderTemplate

      public BinderTemplateResponse createBinderTemplate(BinderTemplate binderTemplate)
      Create Binder Template

      Create a new binder template in your vault.

      Parameters:
      binderTemplate - Template metadata to create
      Returns:
      BinderTemplateResponse
      Vault API Endpoint:
       POST /api/{version}/objects/binders/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-binder-template
      Example Request:
       BinderTemplateResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                              .createBinderTemplate(template);
      Example Response:
       System.out.println(response.getResponse());
    • bulkCreateBinderTemplates

      public BinderTemplateBulkResponse bulkCreateBinderTemplates()
      Bulk Create Binder Templates

      Create from 1-500 new binder templates in your vault.

      Returns:
      BinderTemplateBulkResponse
      Vault API Endpoint:
       POST /api/{version}/objects/binders/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#bulk-create-binder-templates
      Example Request:
       Prep a CSV string for testing
       StringBuilder csvText = new StringBuilder("name__v,label__v,type__v,subtype__v,classification__v,active__v\n");
       csvText.append("binder_template_1__c,Binder Template 1," + DOCUMENT_TYPE + ",,,true\n");
       csvText.append(",Binder Template 2," + DOCUMENT_TYPE + ",,,true\n");
      ,
       Prep a JSON string for testing
       StringBuilder jsonString = new StringBuilder();
       jsonString.append("[");
       jsonString.append("{\"name__v\": \"binder_template_1__c\",\"label__v\": \"Binder Template 1\",\"type__v\": \"" + DOCUMENT_TYPE + "\",\"subtype__v\": \"\",\"classification__v\": \"\",\"active__v\": \"true\"},");
       jsonString.append("{\"name__v\": \"\",\"label__v\": \"Binder Template 2\",\"type__v\": \"" + DOCUMENT_TYPE + "\",\"subtype__v\": \"\",\"classification__v\": \"\",\"active__v\": \"true\"}");
       jsonString.append("]");
      ,
       Example 1 - CSV as a File
       BinderTemplateRequest request = vaultClient.newRequest(BinderTemplateRequest.class);
       String filePath = saveToDesktop(fileName, csvText.toString());
       request.setInputPath(filePath);
       BinderTemplateBulkResponse response = request.bulkCreateBinderTemplates();
      ,
       Example 2 - CSV as Bytes
       BinderTemplateRequest request = vaultClient.newRequest(BinderTemplateRequest.class);
       request.setBinaryFile(fileName, csvText.toString().getBytes());
       BinderTemplateBulkResponse response = request.bulkCreateBinderTemplates();
      ,
       Example 3 - JSON
       BinderTemplateBulkResponse request = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .setContentTypeJson();
                                      .setRequestString(jsonString.toString());
      
       BinderTemplateBulkResponse response = request.bulkCreateBinderTemplates();
      Example Response:
       for (BinderTemplateBulkResponse.TemplateResult data : response.getData()) {
                      System.out.println("Status: " + data.getResponseStatus());
                      System.out.println("Name: " + data.getName());
       }
    • updateBinderTemplate

      public BinderTemplateResponse updateBinderTemplate(String templateName, BinderTemplate binderTemplate)
      Update Binder Template

      Update an existing binder template in your vault.
      By changing the document type/subtype/classification, you can move an existing binder template to a different level of the document type hierarchy, effectively reclassifying the template.

      Parameters:
      templateName - The binder template name__v field value.
      binderTemplate - Template metadata to update.
      Returns:
      BinderTemplateResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/binders/templates/{template_name}
      Example Request:
       BinderTemplateResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .updateBinderTemplate(binderTemplateName, template);
      Example Response:
       System.out.println(response.getResponse());
    • bulkUpdateBinderTemplates

      public BinderTemplateBulkResponse bulkUpdateBinderTemplates()
      Bulk Update Binder Templates

      Update from 1-500 binder templates in your vault.
      By changing the document type/subtype/classification, you can move an existing binder template to a different level of the document type hierarchy, effectively reclassifying the template.

      See bulkCreateBinderTemplates() for example request and response

      Returns:
      BinderTemplateBulkResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/binders/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#bulk-update-binder-templates
    • deleteBinderTemplate

      public BinderTemplateResponse deleteBinderTemplate(String templateName)
      Delete Binder Template

      Delete an existing binder template from your vault.

      Parameters:
      templateName - The binder template name__v field value.
      Returns:
      BinderTemplateResponse
      Vault API Endpoint:
       DELETE /api/{version}/objects/binders/templates/{template_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-binder-template
      Example Request:
       BinderTemplateResponse resp = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .deleteBinderTemplate(binderTemplateName);
      Example Response:
       if (resp.isSuccessful()) {
         System.out.println("Successfully deleted the binder.");
       }
    • createBinderTemplateNode

      public BinderTemplateResponse createBinderTemplateNode(String templateName, BinderTemplate binderTemplate)
      Create Binder Template Node

      Create nodes in an existing binder template.

      Parameters:
      templateName - The binder template name__v field value.
      binderTemplate - Template metadata to create
      Returns:
      BinderTemplateResponse
      Vault API Endpoint:
       POST /api/{version}/objects/binders/templates/{template_name}/bindernodes
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-binder-template-node
      Example Request:
       BinderTemplateResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .createBinderTemplateNode(binderTemplateName, templateNode);
      Example Response:
      System.out.println(response.getResponse());
      
       BinderTemplate templateSubNode = new BinderTemplate();
       templateSubNode.setId("anything"); // Doesn't seem to matter what this is, but it's required
       templateSubNode.setLabel("Sub Node 1");
       templateSubNode.setNumber("01.01");
       templateSubNode.setParentId(response.getData().get(0).getId()); // Generated id from above
       templateSubNode.setNodeType(BinderTemplate.NodeType.SECTION);
      
       response = vaultClient.newRequest(BinderTemplateRequest.class)
       .createBinderTemplateNode(binderTemplateName, templateSubNode);
       System.out.println(response.getResponse());
    • bulkCreateBinderTemplateNodes

      public BinderTemplateNodeBulkResponse bulkCreateBinderTemplateNodes(String templateName)
      Bulk Create Binder Template Nodes

      Update nodes in an existing binder template.

      Parameters:
      templateName - The binder template name__v field value.
      Returns:
      BinderTemplateNodeBulkResponse
      Vault API Endpoint:
       POST /api/{version}/objects/binders/templates/{template_name}/bindernodes
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-binder-template-node
      Example Request:
        Example 1 - CSV as File
       BinderTemplateNodeBulkResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .setInputPath(filePath)
                                      .bulkCreateBinderTemplateNodes(binderTemplateName);
      ,
       Example 1 - CSV as Bytes
       BinderTemplateNodeBulkResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .setBinaryFile(fileName, csvText.toString().getBytes())
                                      .bulkCreateBinderTemplateNodes(binderTemplateName);
      ,
       Example 3 - JSON
      
       BinderTemplateNodeBulkResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .setContentTypeJson()
                                      .setRequestString(jsonText.toString())
                                      .bulkCreateBinderTemplateNodes(binderTemplateName);
      ,
       for (BinderTemplateNodeBulkResponse.TemplateNodeResult result : response.getData()) {
         System.out.println("Status: " + result.getResponseStatus());
       }
    • replaceBinderTemplateNodes

      public BinderTemplateNodeBulkResponse replaceBinderTemplateNodes(String templateName)
      Replace Binder Template Nodes

      Replace all binder nodes in an existing binder template. This action removes all existing nodes and replaces them with those specified in the input.

      See bulkCreateBinderTemplateNodes(String) for example request and response

      Parameters:
      templateName - The binder template name__v field value.
      Returns:
      BinderTemplateNodeBulkResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/binders/templates/{template_name}/bindernodes
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#replace-binder-template-nodes
      Example Request:
       BinderTemplateNodeBulkResponse response = vaultClient.newRequest(BinderTemplateRequest.class)
                                      .setInputPath(filePath)
                                      .replaceBinderTemplateNodes(binderTemplateName);
    • setContentTypeCsv

      public BinderTemplateRequest setContentTypeCsv()
      Set the Header Content Type to text/csv
      Returns:
      The Request
    • setContentTypeJson

      public BinderTemplateRequest setContentTypeJson()
      Set the Header Content Type to application/json
      Returns:
      The Request
    • setContentTypeXForm

      public BinderTemplateRequest setContentTypeXForm()
      Set the Header Content Type to application/x-www-form-urlencoded
      Returns:
      The Request
    • setBinaryFile

      public BinderTemplateRequest setBinaryFile(String filename, byte[] binaryContent)
      Specify source data in an input file
      Parameters:
      filename - file name (no path)
      binaryContent - byte array of the file content
      Returns:
      The Request
    • setInputPath

      public BinderTemplateRequest setInputPath(String inputPath)
      Specify source data in an input file
      Parameters:
      inputPath - Absolute path to the file for the request
      Returns:
      The Request
    • setRequestString

      public BinderTemplateRequest setRequestString(String requestString)
      Specify source data in an input string, such as a JSON request
      Parameters:
      requestString - The source request as a string
      Returns:
      The Request