test_class.declarator: testObject = null
test_class.modifier: private
test_class.original_string: private UlordURI testObject = null;
test_class.type: UlordURI
test_class.var_name: testObject
test_class.declarator: MAINNET = MainNetParams.get()
test_class.modifier: private static final
test_class.original_string: private static final NetworkParameters MAINNET = MainNetParams.get();
test_class.type: NetworkParameters
test_class.var_name: MAINNET
test_class.declarator: TESTNET = TestNet3Params.get()
test_class.modifier: private static final
test_class.original_string: private static final NetworkParameters TESTNET = TestNet3Params.get();
test_class.type: NetworkParameters
test_class.var_name: TESTNET
test_class.declarator: MAINNET_GOOD_ADDRESS = "1KzTSfqjF2iKCduwz59nv2uqh1W2JsTxZH"
test_class.modifier: private static final
test_class.original_string: private static final String MAINNET_GOOD_ADDRESS = "1KzTSfqjF2iKCduwz59nv2uqh1W2JsTxZH";
test_class.type: String
test_class.var_name: MAINNET_GOOD_ADDRESS
test_class.declarator: MAINNET_GOOD_SEGWIT_ADDRESS = "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4"
test_class.modifier: private static final
test_class.original_string: private static final String MAINNET_GOOD_SEGWIT_ADDRESS = "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4";
test_class.type: String
test_class.var_name: MAINNET_GOOD_SEGWIT_ADDRESS
test_class.declarator: BITCOIN_SCHEME = MAINNET.getUriScheme()
test_class.modifier: private static final
test_class.original_string: private static final String BITCOIN_SCHEME = MAINNET.getUriScheme();
test_class.type: String
test_class.var_name: BITCOIN_SCHEME
test_class.file: core/src/test/java/org/ulordj/uri/UlordURITest.java
test_class.identifier: UlordURITest
test_case.body: @Test
      public void testConvertToBitcoinURI() throws Exception {
          Address goodAddress = LegacyAddress.fromBase58(MAINNET, MAINNET_GOOD_ADDRESS);
          
          // simple example
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=12.34&label=Hello&message=AMessage", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("12.34"), "Hello", "AMessage"));
          
          // example with spaces, ampersand and plus
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=12.34&label=Hello%20World&message=Mess%20%26%20age%20%2B%20hope", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("12.34"), "Hello World", "Mess & age + hope"));
  
          // no amount, label present, message present
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?label=Hello&message=glory", UlordURI.convertToBitcoinURI(goodAddress, null, "Hello", "glory"));
          
          // amount present, no label, message present
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=0.1&message=glory", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("0.1"), null, "glory"));
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=0.1&message=glory", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("0.1"), "", "glory"));
  
          // amount present, label present, no message
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=12.34&label=Hello", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("12.34"), "Hello", null));
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=12.34&label=Hello", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("12.34"), "Hello", ""));
                
          // amount present, no label, no message
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=1000", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("1000"), null, null));
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?amount=1000", UlordURI.convertToBitcoinURI(goodAddress, parseCoin("1000"), "", ""));
          
          // no amount, label present, no message
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?label=Hello", UlordURI.convertToBitcoinURI(goodAddress, null, "Hello", null));
          
          // no amount, no label, message present
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?message=Agatha", UlordURI.convertToBitcoinURI(goodAddress, null, null, "Agatha"));
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS + "?message=Agatha", UlordURI.convertToBitcoinURI(goodAddress, null, "", "Agatha"));
        
          // no amount, no label, no message
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS, UlordURI.convertToBitcoinURI(goodAddress, null, null, null));
          assertEquals("ulord:" + MAINNET_GOOD_ADDRESS, UlordURI.convertToBitcoinURI(goodAddress, null, "", ""));
  
          // different scheme
          final NetworkParameters alternativeParameters = new MainNetParams() {
              @Override
              public String getUriScheme() {
                  return "test";
              }
          };
  
          assertEquals("test:" + MAINNET_GOOD_ADDRESS + "?amount=12.34&label=Hello&message=AMessage",
               UlordURI.convertToBitcoinURI(LegacyAddress.fromBase58(alternativeParameters, MAINNET_GOOD_ADDRESS), parseCoin("12.34"), "Hello", "AMessage"));
      }
test_case.class_method_signature: UlordURITest.testConvertToBitcoinURI()
test_case.full_signature: @Test public void testConvertToBitcoinURI()
test_case.identifier: testConvertToBitcoinURI
test_case.invocations: fromBase58 assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI parseCoin assertEquals convertToBitcoinURI assertEquals convertToBitcoinURI assertEquals convertToBitcoinURI assertEquals convertToBitcoinURI assertEquals convertToBitcoinURI assertEquals convertToBitcoinURI fromBase58 parseCoin
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testConvertToBitcoinURI()
focal_class.declarator: FIELD_MESSAGE = "message"
focal_class.modifier: public static final
focal_class.original_string: public static final String FIELD_MESSAGE = "message";
focal_class.type: String
focal_class.var_name: FIELD_MESSAGE
focal_class.declarator: FIELD_LABEL = "label"
focal_class.modifier: public static final
focal_class.original_string: public static final String FIELD_LABEL = "label";
focal_class.type: String
focal_class.var_name: FIELD_LABEL
focal_class.declarator: FIELD_AMOUNT = "amount"
focal_class.modifier: public static final
focal_class.original_string: public static final String FIELD_AMOUNT = "amount";
focal_class.type: String
focal_class.var_name: FIELD_AMOUNT
focal_class.declarator: FIELD_ADDRESS = "address"
focal_class.modifier: public static final
focal_class.original_string: public static final String FIELD_ADDRESS = "address";
focal_class.type: String
focal_class.var_name: FIELD_ADDRESS
focal_class.declarator: FIELD_PAYMENT_REQUEST_URL = "r"
focal_class.modifier: public static final
focal_class.original_string: public static final String FIELD_PAYMENT_REQUEST_URL = "r";
focal_class.type: String
focal_class.var_name: FIELD_PAYMENT_REQUEST_URL
focal_class.declarator: BITCOIN_SCHEME = "ulord"
focal_class.modifier: @Deprecated
      public static final
focal_class.original_string: @Deprecated
      public static final String BITCOIN_SCHEME = "ulord";
focal_class.type: String
focal_class.var_name: BITCOIN_SCHEME
focal_class.declarator: ENCODED_SPACE_CHARACTER = "%20"
focal_class.modifier: private static final
focal_class.original_string: private static final String ENCODED_SPACE_CHARACTER = "%20";
focal_class.type: String
focal_class.var_name: ENCODED_SPACE_CHARACTER
focal_class.declarator: AMPERSAND_SEPARATOR = "&"
focal_class.modifier: private static final
focal_class.original_string: private static final String AMPERSAND_SEPARATOR = "&";
focal_class.type: String
focal_class.var_name: AMPERSAND_SEPARATOR
focal_class.declarator: QUESTION_MARK_SEPARATOR = "?"
focal_class.modifier: private static final
focal_class.original_string: private static final String QUESTION_MARK_SEPARATOR = "?";
focal_class.type: String
focal_class.var_name: QUESTION_MARK_SEPARATOR
focal_class.declarator: parameterMap = new LinkedHashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, Object> parameterMap = new LinkedHashMap<>();
focal_class.type: Map<String, Object>
focal_class.var_name: parameterMap
focal_class.file: core/src/main/java/org/ulordj/uri/UlordURI.java
focal_class.identifier: UlordURI
focal_class.class_method_signature: UlordURI.UlordURI(String uri)
focal_class.full_signature: public  UlordURI(String uri)
focal_class.identifier: UlordURI
focal_class.modifiers: public
focal_class.parameters: (String uri)
focal_class.signature:  UlordURI(String uri)
focal_class.class_method_signature: UlordURI.UlordURI(@Nullable NetworkParameters params, String input)
focal_class.full_signature: public  UlordURI(@Nullable NetworkParameters params, String input)
focal_class.identifier: UlordURI
focal_class.modifiers: public
focal_class.parameters: (@Nullable NetworkParameters params, String input)
focal_class.signature:  UlordURI(@Nullable NetworkParameters params, String input)
focal_class.class_method_signature: UlordURI.parseParameters(@Nullable NetworkParameters params, String addressToken, String[] nameValuePairTokens)
focal_class.full_signature: private void parseParameters(@Nullable NetworkParameters params, String addressToken, String[] nameValuePairTokens)
focal_class.identifier: parseParameters
focal_class.modifiers: private
focal_class.parameters: (@Nullable NetworkParameters params, String addressToken, String[] nameValuePairTokens)
focal_class.return: void
focal_class.signature: void parseParameters(@Nullable NetworkParameters params, String addressToken, String[] nameValuePairTokens)
focal_class.class_method_signature: UlordURI.putWithValidation(String key, Object value)
focal_class.full_signature: private void putWithValidation(String key, Object value)
focal_class.identifier: putWithValidation
focal_class.modifiers: private
focal_class.parameters: (String key, Object value)
focal_class.return: void
focal_class.signature: void putWithValidation(String key, Object value)
focal_class.class_method_signature: UlordURI.getAddress()
focal_class.full_signature: @Nullable public Address getAddress()
focal_class.identifier: getAddress
focal_class.modifiers: @Nullable public
focal_class.parameters: ()
focal_class.return: Address
focal_class.signature: Address getAddress()
focal_class.class_method_signature: UlordURI.getAmount()
focal_class.full_signature: public Coin getAmount()
focal_class.identifier: getAmount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Coin
focal_class.signature: Coin getAmount()
focal_class.class_method_signature: UlordURI.getLabel()
focal_class.full_signature: public String getLabel()
focal_class.identifier: getLabel
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getLabel()
focal_class.class_method_signature: UlordURI.getMessage()
focal_class.full_signature: public String getMessage()
focal_class.identifier: getMessage
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getMessage()
focal_class.class_method_signature: UlordURI.getPaymentRequestUrl()
focal_class.full_signature: public final String getPaymentRequestUrl()
focal_class.identifier: getPaymentRequestUrl
focal_class.modifiers: public final
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getPaymentRequestUrl()
focal_class.class_method_signature: UlordURI.getPaymentRequestUrls()
focal_class.full_signature: public List<String> getPaymentRequestUrls()
focal_class.identifier: getPaymentRequestUrls
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getPaymentRequestUrls()
focal_class.class_method_signature: UlordURI.getParameterByName(String name)
focal_class.full_signature: public Object getParameterByName(String name)
focal_class.identifier: getParameterByName
focal_class.modifiers: public
focal_class.parameters: (String name)
focal_class.return: Object
focal_class.signature: Object getParameterByName(String name)
focal_class.class_method_signature: UlordURI.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: UlordURI.convertToBitcoinURI(Address address, Coin amount,
                                               String label, String message)
focal_class.full_signature: public static String convertToBitcoinURI(Address address, Coin amount,
                                               String label, String message)
focal_class.identifier: convertToBitcoinURI
focal_class.modifiers: public static
focal_class.parameters: (Address address, Coin amount,
                                               String label, String message)
focal_class.return: String
focal_class.signature: String convertToBitcoinURI(Address address, Coin amount,
                                               String label, String message)
focal_class.class_method_signature: UlordURI.convertToBitcoinURI(NetworkParameters params,
                                               String address, @Nullable Coin amount,
                                               @Nullable String label, @Nullable String message)
focal_class.full_signature: public static String convertToBitcoinURI(NetworkParameters params,
                                               String address, @Nullable Coin amount,
                                               @Nullable String label, @Nullable String message)
focal_class.identifier: convertToBitcoinURI
focal_class.modifiers: public static
focal_class.parameters: (NetworkParameters params,
                                               String address, @Nullable Coin amount,
                                               @Nullable String label, @Nullable String message)
focal_class.return: String
focal_class.signature: String convertToBitcoinURI(NetworkParameters params,
                                               String address, @Nullable Coin amount,
                                               @Nullable String label, @Nullable String message)
focal_class.class_method_signature: UlordURI.encodeURLString(String stringToEncode)
focal_class.full_signature: static String encodeURLString(String stringToEncode)
focal_class.identifier: encodeURLString
focal_class.modifiers: static
focal_class.parameters: (String stringToEncode)
focal_class.return: String
focal_class.signature: String encodeURLString(String stringToEncode)
focal_method.body: public static String convertToBitcoinURI(Address address, Coin amount,
                                               String label, String message) {
          return convertToBitcoinURI(address.getParameters(), address.toString(), amount, label, message);
      }
focal_method.class_method_signature: UlordURI.convertToBitcoinURI(Address address, Coin amount,
                                               String label, String message)
focal_method.full_signature: public static String convertToBitcoinURI(Address address, Coin amount,
                                               String label, String message)
focal_method.identifier: convertToBitcoinURI
focal_method.invocations: convertToBitcoinURI getParameters toString
focal_method.modifiers: public static
focal_method.parameters: (Address address, Coin amount,
                                               String label, String message)
focal_method.return: String
focal_method.signature: String convertToBitcoinURI(Address address, Coin amount,
                                               String label, String message)