1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.ccsds.ndm.adm.acm;
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 AcmDataSubStructureKey {
27
28
29 ATT((token, parser) -> parser.manageAttitudeStateSection(token.getType() == TokenType.START)),
30
31
32 att((token, parser) -> parser.manageAttitudeStateSection(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 AD((token, parser) -> parser.manageAttitudeDeterminationSection(token.getType() == TokenType.START)),
54
55
56 ad((token, parser) -> parser.manageAttitudeDeterminationSection(token.getType() == TokenType.START)),
57
58
59 USER((token, parser) -> parser.manageUserDefinedParametersSection(token.getType() == TokenType.START)),
60
61
62 user((token, parser) -> parser.manageUserDefinedParametersSection(token.getType() == TokenType.START));
63
64
65 private final transient TokenProcessor processor;
66
67
68
69
70 AcmDataSubStructureKey(final TokenProcessor processor) {
71 this.processor = processor;
72 }
73
74
75
76
77
78
79 public boolean process(final ParseToken token, final AcmParser parser) {
80 return processor.process(token, parser);
81 }
82
83
84 interface TokenProcessor {
85
86
87
88
89
90 boolean process(ParseToken token, AcmParser parser);
91 }
92
93 }