1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.ccsds.ndm.odm.ocm;
18
19 import org.orekit.files.ccsds.utils.lexical.ParseToken;
20 import org.orekit.files.ccsds.utils.lexical.TokenType;
21
22
23
24
25
26 public enum OcmDataSubStructureKey {
27
28
29 TRAJ((token, parser) -> parser.manageTrajectoryStateSection(token.getType() == TokenType.START)),
30
31
32 traj((token, parser) -> parser.manageTrajectoryStateSection(token.getType() == TokenType.START)),
33
34
35 PHYS((token, parser) -> parser.managePhysicalPropertiesSection(token.getType() == TokenType.START)),
36
37
38 phys((token, parser) -> parser.managePhysicalPropertiesSection(token.getType() == TokenType.START)),
39
40
41 COV((token, parser) -> parser.manageCovarianceHistorySection(token.getType() == TokenType.START)),
42
43
44 cov((token, parser) -> parser.manageCovarianceHistorySection(token.getType() == TokenType.START)),
45
46
47 MAN((token, parser) -> parser.manageManeuversSection(token.getType() == TokenType.START)),
48
49
50 man((token, parser) -> parser.manageManeuversSection(token.getType() == TokenType.START)),
51
52
53 PERT((token, parser) -> parser.managePerturbationParametersSection(token.getType() == TokenType.START)),
54
55
56 pert((token, parser) -> parser.managePerturbationParametersSection(token.getType() == TokenType.START)),
57
58
59 OD((token, parser) -> parser.manageOrbitDeterminationSection(token.getType() == TokenType.START)),
60
61
62 od((token, parser) -> parser.manageOrbitDeterminationSection(token.getType() == TokenType.START)),
63
64
65 USER((token, parser) -> parser.manageUserDefinedParametersSection(token.getType() == TokenType.START)),
66
67
68 user((token, parser) -> parser.manageUserDefinedParametersSection(token.getType() == TokenType.START));
69
70
71 private final transient TokenProcessor processor;
72
73
74
75
76 OcmDataSubStructureKey(final TokenProcessor processor) {
77 this.processor = processor;
78 }
79
80
81
82
83
84
85 public boolean process(final ParseToken token, final OcmParser parser) {
86 return processor.process(token, parser);
87 }
88
89
90 interface TokenProcessor {
91
92
93
94
95
96 boolean process(ParseToken token, OcmParser parser);
97 }
98
99 }