Advertisement
NLinker

Scala builder from the Java POV

Feb 24th, 2017
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.80 KB | None | 0 0
  1. case class AppleHash(hash: UUID,
  2.                      uuid: UUID)
  3. object AppleHash {
  4.   def builder = new Builder
  5.   class Builder {
  6.     private var hash: UUID = _
  7.     private var uuid: UUID = _
  8.     def hash(hash: UUID): Builder = {this.hash = hash; this }
  9.     def uuid(uuid: UUID): Builder = {this.uuid = uuid; this }
  10.     def build = AppleHash(hash = hash, uuid = uuid)
  11.   }
  12. }
  13.  
  14. // Java side
  15.  
  16. package com.vertigo.dp;
  17.  
  18. import java.util.UUID;
  19.  
  20. /** A {@code TestB} is an object that... */
  21. public class TestB {
  22.     public static void main(String[] args) {
  23.         UUID hash = UUID.randomUUID();
  24.         UUID uuid = UUID.randomUUID();
  25.         AppleHash ah = AppleHash.builder()
  26.             .hash(hash)
  27.             .uuid(uuid)
  28.             .build();
  29.         System.out.println("ah = " + ah);
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement