1 /* Copyright 2002-2025 CS GROUP
2 * Licensed to CS GROUP (CS) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * CS licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.orekit.files.ccsds.ndm.cdm;
18
19 /** Maneuvrable possibilities used in CCSDS Conjunction Data Messages.
20 * @author Melina Vanel
21 * @since 11.2
22 */
23 public enum Maneuvrable {
24
25 /** Maneuvrable. */
26 YES("YES"),
27
28 /** Non Maneuvrable. */
29 NO("NO"),
30
31 /** Don't know or not applicable. */
32 N_A("N/A");
33
34 /** Value of the enum .*/
35 private String value;
36
37 /**
38 * Constructor.
39 * @param value String value of the enum
40 */
41 Maneuvrable(final String value) {
42 this.value = value;
43 }
44
45 /** Get the String representation of the enum.
46 * @return the String representation of the enum
47 */
48 public String getValue() {
49 return value;
50 }
51
52 /** {@inheritDoc}. */
53 @Override
54 public String toString() {
55 return this.getValue();
56 }
57
58 /** Get the enum entry corresponding to the given String.
59 * @param keyValue input Sring value
60 * @return the corresponding enum entry
61 * @throws IllegalArgumentException if there is no enum entry corresponding
62 * to the given String value
63 */
64 public static Maneuvrable getEnum(final String keyValue) {
65 for (Maneuvrable v : values()) {
66 if (v.getValue().equalsIgnoreCase(keyValue)) {
67 return v;
68 }
69 }
70 throw new IllegalArgumentException();
71 }
72
73 }