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.section; 18 19 /** 20 * NDM segments are ({@link Metadata}, {@link Data}) pairs. 21 * @author Luc Maisonobe 22 * @since 11.0 23 * @param <M> type of the metadata 24 * @param <D> type of the data 25 */ 26 public class Segment<M extends Metadata, D extends Data> { 27 28 /** Metadata. */ 29 private M metadata; 30 31 /** Data. */ 32 private final D data; 33 34 /** 35 * Constructor. 36 * @param metadata segment metadata 37 * @param data segment data 38 */ 39 public Segment(final M metadata, final D data) { 40 this.metadata = metadata; 41 this.data = data; 42 } 43 44 /** Get the segment metadata. 45 * @return segment metadata 46 */ 47 public M getMetadata() { 48 return metadata; 49 } 50 51 /** Set the segment metadata. 52 * @param metadata the segment metadata 53 */ 54 public void setMetadata(final M metadata) { 55 this.metadata = metadata; 56 } 57 58 /** Get the segment data. 59 * @return segment data 60 */ 61 public D getData() { 62 return data; 63 } 64 65 }