]>
git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.app.api/src/org/argeo/app/api/IdRange.java
1 package org
.argeo
.app
.api
;
3 /** A range of numerical IDs (typically numerical uid or gid). */
6 private final long min
;
7 private final long max
;
9 public IdRange(long min
, long max
) {
14 public IdRange(long minPow10
) {
15 this(minPow10
, maxFromMinPow10(minPow10
));
18 public long getMin() {
22 public long getMax() {
26 private static long maxFromMinPow10(long minPow10
) {
27 if ((minPow10
% 100) != 0) {
28 throw new IllegalArgumentException(minPow10
+ " must at least ends with two zeroes");
31 exp
: for (int i
= exp
+ 1; i
< 10; i
++) {
32 if ((minPow10
% pow10(i
)) != 0)
36 System
.out
.println(exp
);
38 long max
= minPow10
+ pow10(exp
) - 1;
43 private static long pow10(int exp
) {
47 return 10 * pow10(exp
- 1);
50 public static void main(String
... args
) {
51 System
.out
.println(maxFromMinPow10(100));
52 System
.out
.println(maxFromMinPow10(78500));
53 System
.out
.println(maxFromMinPow10(716850000));
55 // System.out.println(pow10(6));
56 // System.out.println(maxFromMinPow10(12));
57 // System.out.println(maxFromMinPow10(124));
58 // System.out.println(maxFromMinPow10(99814565));