1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.sinex;
18
19 import org.orekit.gnss.TimeSystem;
20
21 import java.util.function.Predicate;
22
23
24
25
26
27 enum BiasDescriptionPredicate implements Predicate<SinexBiasParseInfo> {
28
29
30 OBSERVATION_SAMPLING {
31
32 @Override
33 protected void store(final SinexBiasParseInfo parseInfo) {
34 parseInfo.getDescription().setObservationSampling(parseInfo.parseInt(41, 12));
35 }
36 },
37
38
39 PARAMETER_SPACING {
40
41 @Override
42 protected void store(final SinexBiasParseInfo parseInfo) {
43 parseInfo.getDescription().setParameterSpacing(parseInfo.parseInt(41, 12));
44 }
45 },
46
47
48 DETERMINATION_METHOD {
49
50 @Override
51 protected void store(final SinexBiasParseInfo parseInfo) {
52 parseInfo.getDescription().setDeterminationMethod(parseInfo.parseString(41, 39));
53 }
54 },
55
56
57 BIAS_MODE {
58
59 @Override
60 protected void store(final SinexBiasParseInfo parseInfo) {
61 parseInfo.getDescription().setBiasMode(parseInfo.parseString(41, 39));
62 }
63 },
64
65
66 TIME_SYSTEM {
67
68 @Override
69 protected void store(final SinexBiasParseInfo parseInfo) {
70 final String ts = parseInfo.parseString(41, 3);
71 if ("UTC".equals(ts)) {
72 parseInfo.setTimeSystem(TimeSystem.UTC);
73 } else if ("TAI".equals(ts)) {
74 parseInfo.setTimeSystem(TimeSystem.TAI);
75 } else {
76 parseInfo.setTimeSystem(TimeSystem.parseOneLetterCode(ts));
77 }
78 }
79 };
80
81
82 @Override
83 public boolean test(final SinexBiasParseInfo parseInfo) {
84 if (name().equals(parseInfo.parseString(1, 39))) {
85
86 store(parseInfo);
87 return true;
88 } else {
89
90 return false;
91 }
92 }
93
94
95
96
97 protected abstract void store(SinexBiasParseInfo parseInfo);
98
99 }