Dropwizard Money

Money support in Dropwizard

License

License

Categories

Categories

DropWizard Container Microservices
GroupId

GroupId

com.smoketurner.dropwizard
ArtifactId

ArtifactId

dropwizard-money
Last Version

Last Version

1.3.8-1
Release Date

Release Date

Type

Type

jar
Description

Description

Dropwizard Money
Money support in Dropwizard
Project URL

Project URL

https://github.com/smoketurner/dropwizard-money
Source Code Management

Source Code Management

https://github.com/smoketurner/dropwizard-money

Download dropwizard-money

How to add to project

<!-- https://jarcasting.com/artifacts/com.smoketurner.dropwizard/dropwizard-money/ -->
<dependency>
    <groupId>com.smoketurner.dropwizard</groupId>
    <artifactId>dropwizard-money</artifactId>
    <version>1.3.8-1</version>
</dependency>
// https://jarcasting.com/artifacts/com.smoketurner.dropwizard/dropwizard-money/
implementation 'com.smoketurner.dropwizard:dropwizard-money:1.3.8-1'
// https://jarcasting.com/artifacts/com.smoketurner.dropwizard/dropwizard-money/
implementation ("com.smoketurner.dropwizard:dropwizard-money:1.3.8-1")
'com.smoketurner.dropwizard:dropwizard-money:jar:1.3.8-1'
<dependency org="com.smoketurner.dropwizard" name="dropwizard-money" rev="1.3.8-1">
  <artifact name="dropwizard-money" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.smoketurner.dropwizard', module='dropwizard-money', version='1.3.8-1')
)
libraryDependencies += "com.smoketurner.dropwizard" % "dropwizard-money" % "1.3.8-1"
[com.smoketurner.dropwizard/dropwizard-money "1.3.8-1"]

Dependencies

compile (4)

Group / Artifact Type Version
io.dropwizard : dropwizard-jackson jar
io.dropwizard : dropwizard-jersey jar
io.dropwizard : dropwizard-jdbi jar
org.javamoney.moneta : moneta-core jar 1.3

test (5)

Group / Artifact Type Version
io.dropwizard : dropwizard-testing jar
org.assertj : assertj-core jar 3.11.1
org.mockito : mockito-core jar 2.23.4
org.openjdk.jmh : jmh-core jar 1.21
org.openjdk.jmh : jmh-generator-annprocess jar 1.21

Project Modules

There are no modules declared in this project.

Dropwizard Money

Build Status Coverage Status Maven Central GitHub license Become a Patron

A bundle for using Money objects in Dropwizard applications. This bundle provides:

  • Jackson module for serializing/deserializing Money/FastMoney objects
  • JDBI argument mappers for persisting Money objects as a BigDecimal SQL type
  • JDBI argument mappers for persisting FastMoney objects as a Numeric SQL type
  • Jersey MoneyParam for serializing/deserialzing Money objects
  • Jersey FastMoneyParam for serializing/deserialzing FastMoney objects
  • Jersey MonetaryExceptionMapper for handling MonetaryException

Usage

Within your Configuration class, add the following:

@Valid
@NotNull
private final MoneyFactory money = new MoneyFactory();

@JsonProperty
public MoneyFactory getMoneyFactory() {
    return money;
}

Then within your Application class:

@Override
public void initialize(Bootstrap<MyConfiguration> bootstrap) {
    bootstrap.addBundle(new MoneyBundle<MyConfiguration>() {
        @Override
        public MoneyFactory getMoneyFactory(MyConfiguration configuration) {
            return configuration.getMoneyFactory();
        }
    });
}

@Override
public void run(MyConfiguration config, Environment environment) throws Exception {
    final String defaultCurrency = config.getMoneyFactory().getDefaultCurrencyCode();

    final DBIFactory factory = new DBIFactory();
    final DBI jdbi = factory.build(environment, config.getDataSourceFactory(), "postgresql");
    jdbi.registerArgumentFactory(new MoneyArgumentFactory());
    jdbi.registerColumnMapper(new MoneyMapper(defaultCurrency));
}

Maven Artifacts

This project is available on Maven Central. To add it to your project simply add the following dependencies to your pom.xml:

<dependency>
    <groupId>com.smoketurner.dropwizard</groupId>
    <artifactId>dropwizard-money</artifactId>
    <version>1.2.0-1</version>
</dependency>

Support

Please file bug reports and feature requests in GitHub issues.

License

Copyright (c) 2018 Smoke Turner, LLC

This library is licensed under the Apache License, Version 2.0.

See http://www.apache.org/licenses/LICENSE-2.0.html or the LICENSE file in this repository for the full license text.

com.smoketurner.dropwizard

Smoke Turner, LLC

Versions

Version
1.3.8-1
1.3.5-1
1.2.0-1
1.1.0-3
1.1.0-2