MCPcopy Create free account
hub / github.com/DiUS/java-faker / Commerce

Class Commerce

src/main/java/com/github/javafaker/Commerce.java:9–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7import java.util.TreeSet;
8
9public class Commerce {
10 private final Faker faker;
11
12 protected Commerce(Faker faker) {
13 this.faker = faker;
14 }
15
16 public String color() {
17 return faker.fakeValuesService().resolve("color.name", this, faker);
18 }
19
20 public String department() {
21 int numberOfDepartments = Math.max(faker.random().nextInt(4), 1);
22 SortedSet<String> departments = new TreeSet<String>();
23 while (departments.size() < numberOfDepartments) {
24 departments.add(faker.fakeValuesService().resolve("commerce.department", this, faker));
25 }
26 if (departments.size() > 1) {
27 String lastDepartment = departments.last();
28 return StringUtils.join(departments.headSet(lastDepartment), ", ") + " & " + lastDepartment;
29 } else {
30 return departments.first();
31 }
32 }
33
34 public String productName() {
35 return StringUtils.join(new String[] {
36 faker.fakeValuesService().resolve("commerce.product_name.adjective", this,faker),
37 faker.fakeValuesService().resolve("commerce.product_name.material", this, faker),
38 faker.fakeValuesService().resolve("commerce.product_name.product", this, faker) }, " ");
39 }
40
41 public String material() {
42 return faker.fakeValuesService().resolve("commerce.product_name.material", this, faker);
43 }
44
45 /**
46 * Generate a random price between 0.00 and 100.00
47 */
48 public String price() {
49 return price(0, 100);
50 }
51
52 public String price(double min, double max) {
53 double price = min + (faker.random().nextDouble() * (max - min));
54 return new DecimalFormat("#0.00").format(price);
55 }
56
57 public String promotionCode() {
58 return promotionCode(6);
59 }
60
61 public String promotionCode(int digits) {
62 return StringUtils.join(faker.resolve("commerce.promotion_code.adjective"),
63 faker.resolve("commerce.promotion_code.noun"),
64 faker.number().digits(digits));
65 }
66}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected