Hex Artifact Content
Not logged in

Artifact a33d4a9c15109ddcf2b319b77b99022b84fead63:


0000: 70 61 63 6b 61 67 65 20 6f 72 67 2e 69 6e 74 65  package org.inte
0010: 72 6c 65 64 67 65 72 2e 69 6c 71 70 2e 63 6c 69  rledger.ilqp.cli
0020: 65 6e 74 2e 6d 6f 64 65 6c 3b 0a 0a 69 6d 70 6f  ent.model;..impo
0030: 72 74 20 6f 72 67 2e 69 6e 74 65 72 6c 65 64 67  rt org.interledg
0040: 65 72 2e 69 6c 70 2e 49 6e 74 65 72 6c 65 64 67  er.ilp.Interledg
0050: 65 72 41 64 64 72 65 73 73 3b 0a 69 6d 70 6f 72  erAddress;.impor
0060: 74 20 6f 72 67 2e 69 6e 74 65 72 6c 65 64 67 65  t org.interledge
0070: 72 2e 71 75 6f 74 69 6e 67 2e 6d 6f 64 65 6c 2e  r.quoting.model.
0080: 51 75 6f 74 65 52 65 71 75 65 73 74 3b 0a 0a 69  QuoteRequest;..i
0090: 6d 70 6f 72 74 20 6a 61 76 61 2e 74 69 6d 65 2e  mport java.time.
00a0: 44 75 72 61 74 69 6f 6e 3b 0a 0a 69 6d 70 6f 72  Duration;..impor
00b0: 74 20 6a 61 76 61 78 2e 6d 6f 6e 65 79 2e 4d 6f  t javax.money.Mo
00c0: 6e 65 74 61 72 79 41 6d 6f 75 6e 74 3b 0a 0a 2f  netaryAmount;../
00d0: 2a 2a 0a 20 2a 20 43 6f 6e 63 72 65 74 65 20 69  **. * Concrete i
00e0: 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66  mplementation of
00f0: 20 61 6e 20 49 4c 51 50 20 71 75 6f 74 65 20 72   an ILQP quote r
0100: 65 71 75 65 73 74 2e 0a 20 2a 2f 0a 70 75 62 6c  equest.. */.publ
0110: 69 63 20 63 6c 61 73 73 20 43 6c 69 65 6e 74 51  ic class ClientQ
0120: 75 6f 74 65 52 65 71 75 65 73 74 20 69 6d 70 6c  uoteRequest impl
0130: 65 6d 65 6e 74 73 20 51 75 6f 74 65 52 65 71 75  ements QuoteRequ
0140: 65 73 74 20 7b 0a 0a 20 20 70 72 69 76 61 74 65  est {..  private
0150: 20 49 6e 74 65 72 6c 65 64 67 65 72 41 64 64 72   InterledgerAddr
0160: 65 73 73 20 73 6f 75 72 63 65 41 64 64 72 65 73  ess sourceAddres
0170: 73 3b 0a 20 20 70 72 69 76 61 74 65 20 4d 6f 6e  s;.  private Mon
0180: 65 74 61 72 79 41 6d 6f 75 6e 74 20 73 6f 75 72  etaryAmount sour
0190: 63 65 41 6d 6f 75 6e 74 3b 0a 20 20 70 72 69 76  ceAmount;.  priv
01a0: 61 74 65 20 44 75 72 61 74 69 6f 6e 20 73 6f 75  ate Duration sou
01b0: 72 63 65 45 78 70 69 72 79 44 75 72 61 74 69 6f  rceExpiryDuratio
01c0: 6e 3b 0a 20 20 70 72 69 76 61 74 65 20 49 6e 74  n;.  private Int
01d0: 65 72 6c 65 64 67 65 72 41 64 64 72 65 73 73 20  erledgerAddress 
01e0: 64 65 73 74 69 6e 61 74 69 6f 6e 41 64 64 72 65  destinationAddre
01f0: 73 73 3b 0a 20 20 70 72 69 76 61 74 65 20 4d 6f  ss;.  private Mo
0200: 6e 65 74 61 72 79 41 6d 6f 75 6e 74 20 64 65 73  netaryAmount des
0210: 74 69 6e 61 74 69 6f 6e 41 6d 6f 75 6e 74 3b 0a  tinationAmount;.
0220: 20 20 70 72 69 76 61 74 65 20 44 75 72 61 74 69    private Durati
0230: 6f 6e 20 64 65 73 74 69 6e 61 74 69 6f 6e 45 78  on destinationEx
0240: 70 69 72 79 44 75 72 61 74 69 6f 6e 3b 0a 0a 20  piryDuration;.. 
0250: 20 40 4f 76 65 72 72 69 64 65 0a 20 20 70 75 62   @Override.  pub
0260: 6c 69 63 20 49 6e 74 65 72 6c 65 64 67 65 72 41  lic InterledgerA
0270: 64 64 72 65 73 73 20 67 65 74 53 6f 75 72 63 65  ddress getSource
0280: 41 64 64 72 65 73 73 28 29 20 7b 0a 20 20 20 20  Address() {.    
0290: 72 65 74 75 72 6e 20 73 6f 75 72 63 65 41 64 64  return sourceAdd
02a0: 72 65 73 73 3b 0a 20 20 7d 0a 0a 20 20 40 4f 76  ress;.  }..  @Ov
02b0: 65 72 72 69 64 65 0a 20 20 70 75 62 6c 69 63 20  erride.  public 
02c0: 4d 6f 6e 65 74 61 72 79 41 6d 6f 75 6e 74 20 67  MonetaryAmount g
02d0: 65 74 53 6f 75 72 63 65 41 6d 6f 75 6e 74 28 29  etSourceAmount()
02e0: 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 6f   {.    return so
02f0: 75 72 63 65 41 6d 6f 75 6e 74 3b 0a 20 20 7d 0a  urceAmount;.  }.
0300: 0a 20 20 40 4f 76 65 72 72 69 64 65 0a 20 20 70  .  @Override.  p
0310: 75 62 6c 69 63 20 44 75 72 61 74 69 6f 6e 20 67  ublic Duration g
0320: 65 74 53 6f 75 72 63 65 45 78 70 69 72 79 44 75  etSourceExpiryDu
0330: 72 61 74 69 6f 6e 28 29 20 7b 0a 20 20 20 20 72  ration() {.    r
0340: 65 74 75 72 6e 20 73 6f 75 72 63 65 45 78 70 69  eturn sourceExpi
0350: 72 79 44 75 72 61 74 69 6f 6e 3b 0a 20 20 7d 0a  ryDuration;.  }.
0360: 0a 20 20 40 4f 76 65 72 72 69 64 65 0a 20 20 70  .  @Override.  p
0370: 75 62 6c 69 63 20 49 6e 74 65 72 6c 65 64 67 65  ublic Interledge
0380: 72 41 64 64 72 65 73 73 20 67 65 74 44 65 73 74  rAddress getDest
0390: 69 6e 61 74 69 6f 6e 41 64 64 72 65 73 73 28 29  inationAddress()
03a0: 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 64 65   {.    return de
03b0: 73 74 69 6e 61 74 69 6f 6e 41 64 64 72 65 73 73  stinationAddress
03c0: 3b 0a 20 20 7d 0a 0a 20 20 40 4f 76 65 72 72 69  ;.  }..  @Overri
03d0: 64 65 0a 20 20 70 75 62 6c 69 63 20 4d 6f 6e 65  de.  public Mone
03e0: 74 61 72 79 41 6d 6f 75 6e 74 20 67 65 74 44 65  taryAmount getDe
03f0: 73 74 69 6e 61 74 69 6f 6e 41 6d 6f 75 6e 74 28  stinationAmount(
0400: 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 64  ) {.    return d
0410: 65 73 74 69 6e 61 74 69 6f 6e 41 6d 6f 75 6e 74  estinationAmount
0420: 3b 0a 20 20 7d 0a 0a 20 20 40 4f 76 65 72 72 69  ;.  }..  @Overri
0430: 64 65 0a 20 20 70 75 62 6c 69 63 20 44 75 72 61  de.  public Dura
0440: 74 69 6f 6e 20 67 65 74 44 65 73 74 69 6e 61 74  tion getDestinat
0450: 69 6f 6e 45 78 70 69 72 79 44 75 72 61 74 69 6f  ionExpiryDuratio
0460: 6e 28 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e  n() {.    return
0470: 20 64 65 73 74 69 6e 61 74 69 6f 6e 45 78 70 69   destinationExpi
0480: 72 79 44 75 72 61 74 69 6f 6e 3b 0a 20 20 7d 0a  ryDuration;.  }.
0490: 0a 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 73  .  public void s
04a0: 65 74 53 6f 75 72 63 65 41 64 64 72 65 73 73 28  etSourceAddress(
04b0: 49 6e 74 65 72 6c 65 64 67 65 72 41 64 64 72 65  InterledgerAddre
04c0: 73 73 20 73 6f 75 72 63 65 41 64 64 72 65 73 73  ss sourceAddress
04d0: 29 20 7b 0a 20 20 20 20 74 68 69 73 2e 73 6f 75  ) {.    this.sou
04e0: 72 63 65 41 64 64 72 65 73 73 20 3d 20 73 6f 75  rceAddress = sou
04f0: 72 63 65 41 64 64 72 65 73 73 3b 0a 20 20 7d 0a  rceAddress;.  }.
0500: 0a 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 73  .  public void s
0510: 65 74 53 6f 75 72 63 65 41 6d 6f 75 6e 74 28 4d  etSourceAmount(M
0520: 6f 6e 65 74 61 72 79 41 6d 6f 75 6e 74 20 73 6f  onetaryAmount so
0530: 75 72 63 65 41 6d 6f 75 6e 74 29 20 7b 0a 20 20  urceAmount) {.  
0540: 20 20 74 68 69 73 2e 73 6f 75 72 63 65 41 6d 6f    this.sourceAmo
0550: 75 6e 74 20 3d 20 73 6f 75 72 63 65 41 6d 6f 75  unt = sourceAmou
0560: 6e 74 3b 0a 20 20 7d 0a 0a 20 20 70 75 62 6c 69  nt;.  }..  publi
0570: 63 20 76 6f 69 64 20 73 65 74 53 6f 75 72 63 65  c void setSource
0580: 45 78 70 69 72 79 44 75 72 61 74 69 6f 6e 28 44  ExpiryDuration(D
0590: 75 72 61 74 69 6f 6e 20 73 6f 75 72 63 65 45 78  uration sourceEx
05a0: 70 69 72 79 44 75 72 61 74 69 6f 6e 29 20 7b 0a  piryDuration) {.
05b0: 20 20 20 20 74 68 69 73 2e 73 6f 75 72 63 65 45      this.sourceE
05c0: 78 70 69 72 79 44 75 72 61 74 69 6f 6e 20 3d 20  xpiryDuration = 
05d0: 73 6f 75 72 63 65 45 78 70 69 72 79 44 75 72 61  sourceExpiryDura
05e0: 74 69 6f 6e 3b 0a 20 20 7d 0a 0a 20 20 70 75 62  tion;.  }..  pub
05f0: 6c 69 63 20 76 6f 69 64 20 73 65 74 44 65 73 74  lic void setDest
0600: 69 6e 61 74 69 6f 6e 41 64 64 72 65 73 73 28 49  inationAddress(I
0610: 6e 74 65 72 6c 65 64 67 65 72 41 64 64 72 65 73  nterledgerAddres
0620: 73 20 64 65 73 74 69 6e 61 74 69 6f 6e 41 64 64  s destinationAdd
0630: 72 65 73 73 29 20 7b 0a 20 20 20 20 74 68 69 73  ress) {.    this
0640: 2e 64 65 73 74 69 6e 61 74 69 6f 6e 41 64 64 72  .destinationAddr
0650: 65 73 73 20 3d 20 64 65 73 74 69 6e 61 74 69 6f  ess = destinatio
0660: 6e 41 64 64 72 65 73 73 3b 0a 20 20 7d 0a 0a 20  nAddress;.  }.. 
0670: 20 70 75 62 6c 69 63 20 76 6f 69 64 20 73 65 74   public void set
0680: 44 65 73 74 69 6e 61 74 69 6f 6e 41 6d 6f 75 6e  DestinationAmoun
0690: 74 28 4d 6f 6e 65 74 61 72 79 41 6d 6f 75 6e 74  t(MonetaryAmount
06a0: 20 64 65 73 74 69 6e 61 74 69 6f 6e 41 6d 6f 75   destinationAmou
06b0: 6e 74 29 20 7b 0a 20 20 20 20 74 68 69 73 2e 64  nt) {.    this.d
06c0: 65 73 74 69 6e 61 74 69 6f 6e 41 6d 6f 75 6e 74  estinationAmount
06d0: 20 3d 20 64 65 73 74 69 6e 61 74 69 6f 6e 41 6d   = destinationAm
06e0: 6f 75 6e 74 3b 0a 20 20 7d 0a 0a 20 20 70 75 62  ount;.  }..  pub
06f0: 6c 69 63 20 76 6f 69 64 20 73 65 74 44 65 73 74  lic void setDest
0700: 69 6e 61 74 69 6f 6e 45 78 70 69 72 79 44 75 72  inationExpiryDur
0710: 61 74 69 6f 6e 28 44 75 72 61 74 69 6f 6e 20 64  ation(Duration d
0720: 65 73 74 69 6e 61 74 69 6f 6e 45 78 70 69 72 79  estinationExpiry
0730: 44 75 72 61 74 69 6f 6e 29 20 7b 0a 20 20 20 20  Duration) {.    
0740: 74 68 69 73 2e 64 65 73 74 69 6e 61 74 69 6f 6e  this.destination
0750: 45 78 70 69 72 79 44 75 72 61 74 69 6f 6e 20 3d  ExpiryDuration =
0760: 20 64 65 73 74 69 6e 61 74 69 6f 6e 45 78 70 69   destinationExpi
0770: 72 79 44 75 72 61 74 69 6f 6e 3b 0a 20 20 7d 0a  ryDuration;.  }.
0780: 0a 7d 0a                                         .}.