congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
ExchangeRate.getFactor
Code IndexAdd Tabnine to your IDE (free)

How to use
getFactor
method
in
javax.money.convert.ExchangeRate

Best Java code snippets using javax.money.convert.ExchangeRate.getFactor (Showing top 15 results out of 315)

origin: org.javamoney.moneta/moneta-convert-ecb

private ExchangeRate reverse(ExchangeRate rate) {
  if (Objects.isNull(rate)) {
    throw new IllegalArgumentException("Rate null is not reversible.");
  }
  return new ExchangeRateBuilder(rate).setRate(rate).setBase(rate.getCurrency()).setTerm(rate.getBaseCurrency())
      .setFactor(divide(DefaultNumberValue.ONE, rate.getFactor(), MathContext.DECIMAL64)).build();
}
origin: org.javamoney/javamoney-tck

/**
 * Test correct rate evaluation for different provider chains, providers defined by the TCK.<p>
 * Hint do not use non TCK provider for this test, it will make results undeterministic.
 */
@Test(description = "4.3.4 Test correct rate evaluation for different conversion provider chains, " +
    "with duplicate provider entries.")
@SpecAssertion(id = "434-A1", section = "4.3.4")
public void testCorrectRateEvaluationInChain_sameProviders() {
  ExchangeRateProvider prov1 = MonetaryConversions
      .getExchangeRateProvider("TestRateProvider1", "TestRateProvider1", "TestRateProvider1");
  ExchangeRate rate = prov1.getExchangeRate("CHF", "EUR");
  AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
  prov1 = MonetaryConversions.getExchangeRateProvider("TestRateProvider1", "TestRateProvider1");
  rate = prov1.getExchangeRate("CHF", "EUR");
  AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
  prov1 = MonetaryConversions.getExchangeRateProvider("TestRateProvider1");
  rate = prov1.getExchangeRate("CHF", "EUR");
  AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
}
origin: org.javamoney/javamoney-tck

/**
 * Test correct rate evaluation for different provider chains, providers defined by the TCK,
 * with historic rates.<p>
 * Hint do not use non TCK provider for this test, it will make results undeterministic.
 */
@Test(description = "4.3.4 Test correct rate evaluation for different conversion provider chains, " +
    "with historic rates.")
@SpecAssertion(id = "434-A2", section = "4.3.4")
public void testCorrectRateEvaluationInChainHistoric() {
  ExchangeRateProvider prov1 = MonetaryConversions
      .getExchangeRateProvider("TestRateProvider1", "TestRateProvider2", "TestRateProvider3");
  ExchangeRate rate = prov1.getExchangeRate("CHF", "EUR");
  AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
  rate = prov1.getExchangeRate("EUR", "USD");
  AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 2);
  Calendar cal = GregorianCalendar.getInstance();
  cal.setTimeInMillis(0L);
  rate = prov1.getExchangeRate(
      ConversionQueryBuilder.of()
          .set(cal)
          .setBaseCurrency("EUR")
          .setTermCurrency("USD")
          .build());
  AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", 2, rate.getFactor().intValueExact());
}
origin: org.javamoney.moneta/moneta-core

/**
 * Initialize the {@link ExchangeRateBuilder} with an {@link javax.money.convert.ExchangeRate}. This is
 * useful for creating a new rate, reusing some properties from an
 * existing one.
 *
 * @param rate the base rate
 * @return the Builder, for chaining.
 */
public ExchangeRateBuilder setRate(ExchangeRate rate) {
  this.base = rate.getBaseCurrency();
  this.term = rate.getCurrency();
  this.conversionContext = rate.getContext();
  this.factor = rate.getFactor();
  this.rateChain = rate.getExchangeRateChain();
  this.term = rate.getCurrency();
  return this;
}
origin: org.javamoney/javamoney-tck

  /**
   * Initialize the {@link Builder} with an {@link javax.money.convert.ExchangeRate}. This is
   * useful for creating a new rate, reusing some properties from an
   * existing one.
   *
   * @param rate the base rate
   * @return the Builder, for chaining.
   */
  public Builder setRate(ExchangeRate rate) {
    this.base = rate.getBaseCurrency();
    this.term = rate.getCurrency();
    this.conversionContext = rate.getContext();
    this.factor = rate.getFactor();
    this.rateChain = rate.getExchangeRateChain();
    this.term = rate.getCurrency();
    return this;
  }
}
origin: org.javamoney/javamoney-tck

    .getExchangeRateProvider("TestRateProvider1", "TestRateProvider2", "TestRateProvider3");
ExchangeRate rate = prov1.getExchangeRate("CHF", "EUR");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
prov1 = MonetaryConversions.getExchangeRateProvider("TestRateProvider1", "TestRateProvider2");
rate = prov1.getExchangeRate("EUR", "USD");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 2);
prov1 = MonetaryConversions.getExchangeRateProvider("TestRateProvider3");
rate = prov1.getExchangeRate("USD", "INR");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 3);
prov1 = MonetaryConversions
    .getExchangeRateProvider("TestRateProvider1", "TestRateProvider3", "TestRateProvider2");
rate = prov1.getExchangeRate("CHF", "EUR");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
rate = prov1.getExchangeRate("EUR", "USD");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 2);
rate = prov1.getExchangeRate("USD", "INR");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 3);
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
prov1 = MonetaryConversions
    .getExchangeRateProvider("TestRateProvider2", "TestRateProvider1", "TestRateProvider3");
rate = prov1.getExchangeRate("EUR", "USD");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 2);
rate = prov1.getExchangeRate("USD", "INR");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 3);
        "TestRateProvider02");
rate = prov1.getExchangeRate("CHF", "EUR");
AssertJUnit.assertEquals("Invalid ExchangeRateProvider selected.", rate.getFactor().intValueExact(), 1);
origin: org.javamoney.moneta/moneta-core

/**
 * Sets the exchange rate type
 *
 * @param rate the {@link javax.money.convert.ExchangeRate} to be applied
 */
public ExchangeRateBuilder(ExchangeRate rate) {
  setContext(rate.getContext());
  setFactor(rate.getFactor());
  setTerm(rate.getCurrency());
  setBase(rate.getBaseCurrency());
  setRateChain(rate.getExchangeRateChain());
}
origin: org.javamoney.moneta/moneta-core

/**
 * Method that converts the source {@link MonetaryAmount} to an
 * {@link MonetaryAmount} based on the {@link ExchangeRate} of this
 * conversion.
 * @param amount The source amount
 * @return The converted amount, never null.
 * @throws CurrencyConversionException if conversion failed, or the required data is not available.
 * @see #getExchangeRate(MonetaryAmount)
 */
@Override
public MonetaryAmount apply(MonetaryAmount amount) {
  if (termCurrency.equals(Objects.requireNonNull(amount).getCurrency())) {
    return amount;
  }
  ExchangeRate rate = getExchangeRate(amount);
  if (Objects.isNull(rate) || !amount.getCurrency().equals(rate.getBaseCurrency())) {
    throw new CurrencyConversionException(amount.getCurrency(),
        this.termCurrency, null);
  }
  NumberValue factor = rate.getFactor();
  factor = roundFactor(amount, factor);
  Integer scale = rate.getContext().get(KEY_SCALE, Integer.class);
  if(Objects.isNull(scale) || scale < 0) {
    return amount.multiply(factor).getFactory().setCurrency(rate.getCurrency()).create();
  } else {
    return amount.multiply(factor).getFactory().setCurrency(rate.getCurrency()).create().with(MonetaryOperators.rounding(scale));
  }
}
origin: org.javamoney/javamoney-tck

/**
 * Sets the exchange rate type
 *
 * @param rate the {@link javax.money.convert.ExchangeRate} to be applied
 */
public Builder(ExchangeRate rate) {
  setContext(rate.getContext());
  setFactor(rate.getFactor());
  setTerm(rate.getCurrency());
  setBase(rate.getBaseCurrency());
  setRateChain(rate.getExchangeRateChain());
}
origin: org.javamoney.moneta/moneta-convert-ecb

private ExchangeRate createExchangeRate(ConversionQuery query,
                    ExchangeRateBuilder builder, ExchangeRate sourceRate,
                    ExchangeRate target) {
  if (areBothBaseCurrencies(query)) {
    builder.setFactor(DefaultNumberValue.ONE);
    return builder.build();
  } else if (BASE_CURRENCY_CODE.equals(query.getCurrency().getCurrencyCode())) {
    if (Objects.isNull(sourceRate)) {
      return null;
    }
    return reverse(sourceRate);
  } else if (BASE_CURRENCY_CODE.equals(query.getBaseCurrency()
      .getCurrencyCode())) {
    return target;
  } else {
    ExchangeRate rate1 = getExchangeRate(
        query.toBuilder().setTermCurrency(Monetary.getCurrency(BASE_CURRENCY_CODE)).build());
    ExchangeRate rate2 = getExchangeRate(
        query.toBuilder().setBaseCurrency(Monetary.getCurrency(BASE_CURRENCY_CODE))
            .setTermCurrency(query.getCurrency()).build());
    if (Objects.nonNull(rate1) && Objects.nonNull(rate2)) {
      builder.setFactor(multiply(rate1.getFactor(), rate2.getFactor()));
      builder.setRateChain(rate1, rate2);
      return builder.build();
    }
    throw new CurrencyConversionException(query.getBaseCurrency(),
        query.getCurrency(), sourceRate.getContext());
  }
}
origin: org.javamoney/javamoney-tck

/**
 * Test access to conversion rates.<p>
 * Hint: this assertion will require multiple tests to be written!
 */
@Test(description = "4.3.3 Test access to exchange rates from TestRateProvider, using target currency code.")
@SpecAssertion(id = "433-A1", section = "4.3.3")
public void testAccessKnownRatesWithCodes() {
  ExchangeRateProvider prov = MonetaryConversions.getExchangeRateProvider("TestRateProvider");
  // Use test provider
  for (CurrencyUnit base : Monetary.getCurrencies()) {
    if (base.equals(FOO_UNIT)) {
      continue;
    }
    ExchangeRate rate = prov.getExchangeRate(base.getCurrencyCode(), "XXX");
    AssertJUnit
        .assertNotNull("Identity rate, accessed by getExchangeRate(String, String), is not defined for " +
            base.getCurrencyCode() + " -> " + FOO_UNIT.getCurrencyCode(), rate);
    AssertJUnit.assertEquals(rate.getBaseCurrency().getCurrencyCode(), base.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getCurrency().getCurrencyCode(), "FOO");
    AssertJUnit.assertEquals(rate.getFactor().intValueExact(), 2);
  }
}
origin: org.javamoney/javamoney-tck

/**
 * Test access to conversion rates.<p>
 * Hint: this assertion will require multiple tests to be written!
 */
@Test(description = "4.3.3 Test access to exchange rates from TestRateProvider, using target CUrrencyUnit.")
@SpecAssertion(id = "433-A1", section = "4.3.3")
public void testAccessKnownRatesAndContext() {
  ExchangeRateProvider prov = MonetaryConversions.getExchangeRateProvider("TestRateProvider");
  // Use test provider
  for (CurrencyUnit base : Monetary.getCurrencies()) {
    if (base.equals(FOO_UNIT)) {
      continue;
    }
    ExchangeRate rate = prov.getExchangeRate(base, FOO_UNIT);
    AssertJUnit.assertNotNull(
        "Identity rate, accessed by getExchangeRate(CurrencyUnit, CurrencyUnit, ConversionContext), " +
            "is not defined for " +
            base.getCurrencyCode() + " -> " + FOO_UNIT.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getBaseCurrency().getCurrencyCode(), base.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getCurrency().getCurrencyCode(), FOO_UNIT.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getFactor().intValueExact(), 2);
  }
}
origin: org.javamoney/javamoney-tck

/**
 * Test access to conversion rates.<p>
 * Hint: this assertion will require multiple tests to be written!
 */
@Test(description = "4.3.3 Test access of Conversion Rates, using TCK provided rate provider.")
@SpecAssertion(id = "433-A1", section = "4.3.3")
public void testAccessKnownRates() {
  ExchangeRateProvider prov = MonetaryConversions.getExchangeRateProvider("TestRateProvider");
  // Use test provider
  for (CurrencyUnit base : Monetary.getCurrencies()) {
    if (base.equals(FOO_UNIT)) {
      continue;
    }
    ExchangeRate rate = prov.getExchangeRate(base, FOO_UNIT);
    AssertJUnit.assertNotNull(
        "Identity rate, accessed by getExchangeRate(CurrencyUnit, CurrencyUnit), is not defined for " +
            base.getCurrencyCode() + " -> " + FOO_UNIT.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getBaseCurrency().getCurrencyCode(), base.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getCurrency().getCurrencyCode(), FOO_UNIT.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getFactor().intValueExact(), 2);
  }
}
origin: org.javamoney/javamoney-tck

/**
 * Compare conversions done with exchange rates provided for same currency pair.
 */
@Test(description = "4.3.2 Test correct ExchangeRate is returned for CHF -> FOO, using TestRateProvider.")
@SpecAssertion(id = "432-A2", section = "4.3.2")
public void testConversionComparedWithRate() {
  final CurrencyUnit FOO = new TestCurrencyUnit("FOO");
  ExchangeRate rate = MonetaryConversions.getExchangeRateProvider("TestRateProvider")
      .getExchangeRate(Monetary.getCurrency("CHF"), FOO);
  AssertJUnit.assertEquals(rate.getBaseCurrency(), Monetary.getCurrency("CHF"));
  AssertJUnit.assertEquals(rate.getCurrency().getCurrencyCode(), FOO.getCurrencyCode());
  AssertJUnit.assertEquals(rate.getFactor().intValueExact(), 2);
  AssertJUnit.assertEquals("TestRateProvider", rate.getContext().getProviderName());
}
origin: org.javamoney/javamoney-tck

/**
 * Test access to conversion rates.<p>
 * Hint: this assertion will require multiple tests to be written!
 */
@Test(description = "4.3.3  Test access to conversion rates, including known factor, using TestRateProvider.")
@SpecAssertion(id = "433-A1", section = "4.3.3")
public void testAccessKnownRatesWithCodesAndContext() {
  ExchangeRateProvider prov = MonetaryConversions.getExchangeRateProvider("TestRateProvider");
  // Use test provider
  for (CurrencyUnit base : Monetary.getCurrencies()) {
    ExchangeRate rate = prov.getExchangeRate(base, FOO_UNIT);
    AssertJUnit
        .assertNotNull("Identity rate, accessed by getExchangeRate(String, String, ConversionContext), " +
            "is not defined for " +
            base.getCurrencyCode() + " -> " + FOO_UNIT.getCurrencyCode(), rate);
    AssertJUnit.assertEquals(rate.getBaseCurrency().getCurrencyCode(), base.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getCurrency().getCurrencyCode(), FOO_UNIT.getCurrencyCode());
    AssertJUnit.assertEquals(rate.getFactor().intValueExact(), 2);
  }
}
javax.money.convertExchangeRategetFactor

Javadoc

Access the rate's bid factor.

Popular methods of ExchangeRate

  • getBaseCurrency
    Get the base (source) CurrencyUnit.
  • getCurrency
    Get the term (target) CurrencyUnit.
  • getContext
    Access the ConversionContext of ExchangeRate.
  • getExchangeRateChain
    Access the chain of exchange rates.

Popular in Java

  • Start an intent from android
  • getSystemService (Context)
  • getResourceAsStream (ClassLoader)
  • compareTo (BigDecimal)
  • SimpleDateFormat (java.text)
    Formats and parses dates in a locale-sensitive manner. Formatting turns a Date into a String, and pa
  • Deque (java.util)
    A linear collection that supports element insertion and removal at both ends. The name deque is shor
  • ResourceBundle (java.util)
    ResourceBundle is an abstract class which is the superclass of classes which provide Locale-specifi
  • Reference (javax.naming)
  • Servlet (javax.servlet)
    Defines methods that all servlets must implement. A servlet is a small Java program that runs within
  • Table (org.hibernate.mapping)
    A relational table
  • Best IntelliJ plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now