-
Notifications
You must be signed in to change notification settings - Fork 0
/
StockManager.java
54 lines (39 loc) · 1.18 KB
/
StockManager.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package org.indietxt.service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.indietxt.model.ProductSize;
import org.indietxt.model.StockEntry;
public interface StockManager {
void loadItems(List<ProductSize> productSizes, List<StockEntry> stockSizes);
List<StockEntry> retrieveStock();
Boolean cleanStockEntry();
Boolean cleanProductSize();
default boolean isEquivalents(int sizeSystemA, int sizeSystemB) {
// 1. sort first sizeSystem
String s1 = String.valueOf(sizeSystemA);
char[] c1 = s1.toCharArray();
Arrays.sort(c1);
// 2. sort second sizeSystem
String s2 = String.valueOf(sizeSystemB);
char[] c2 = s2.toCharArray();
Arrays.sort(c2);
// 3. compare
return(Arrays.equals(c1,c2));
}
default List<String> getPermutations(String input) {
List strList = new ArrayList<>();
permutations("", input, strList);
return strList;
}
default void permutations(String consChars, String input, List list) {
if(input.isEmpty()) {
list.add(consChars + input);
return;
}
for(int i = 0; i < input.length(); i++) {
permutations(consChars + input.charAt(i),
input.substring(0, i)+input.substring(i+1), list);
}
}
}