OcmMetadata.java
- /* Copyright 2002-2025 CS GROUP
- * Licensed to CS GROUP (CS) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package org.orekit.files.ccsds.ndm.odm.ocm;
- import java.util.List;
- import org.orekit.data.DataContext;
- import org.orekit.files.ccsds.definitions.TimeSystem;
- import org.orekit.files.ccsds.ndm.odm.OdmMetadata;
- import org.orekit.files.ccsds.section.MetadataKey;
- import org.orekit.time.AbsoluteDate;
- /** Meta-data for {@link OcmMetadata Orbit Comprehensive Message}.
- * @since 11.0
- */
- public class OcmMetadata extends OdmMetadata {
- /** Default value for SCLK_OFFSET_AT_EPOCH.
- * @since 12.0
- */
- public static final double DEFAULT_SCLK_OFFSET_AT_EPOCH = 0.0;
- /** Default value for SCLK_SEC_PER_SI_SEC.
- * @since 12.0
- */
- public static final double DEFAULT_SCLK_SEC_PER_SI_SEC = 1.0;
- /** International designator for the object as assigned by the UN Committee
- * on Space Research (COSPAR) and the US National Space Science Data Center (NSSDC). */
- private String internationalDesignator;
- /** Specification of satellite catalog source. */
- private String catalogName;
- /** Unique satellite identification designator for the object. */
- private String objectDesignator;
- /** Alternate names for this space object. */
- private List<String> alternateNames;
- /** Programmatic Point Of Contact at originator. */
- private String originatorPOC;
- /** Position of Programmatic Point Of Contact at originator. */
- private String originatorPosition;
- /** Phone number of Programmatic Point Of Contact at originator. */
- private String originatorPhone;
- /** Email address of Programmatic Point Of Contact at originator.
- * @since 11.2
- */
- private String originatorEmail;
- /** Address of Programmatic Point Of Contact at originator. */
- private String originatorAddress;
- /** Creating agency or operator. */
- private String techOrg;
- /** Technical Point Of Contact at originator. */
- private String techPOC;
- /** Position of Technical Point Of Contact at originator. */
- private String techPosition;
- /** Phone number of Technical Point Of Contact at originator. */
- private String techPhone;
- /** Email address of Technical Point Of Contact at originator.
- * @since 11.2
- */
- private String techEmail;
- /** Address of Technical Point Of Contact at originator. */
- private String techAddress;
- /** Unique ID identifying previous message from a given originator. */
- private String previousMessageID;
- /** Unique ID identifying next message from a given originator. */
- private String nextMessageID;
- /** Unique identifier of Attitude Data Message linked to this Orbit Data Message. */
- private String admMessageLink;
- /** Unique identifier of Conjunction Data Message linked to this Orbit Data Message. */
- private String cdmMessageLink;
- /** Unique identifier of Pointing Request Message linked to this Orbit Data Message. */
- private String prmMessageLink;
- /** Unique identifier of Reentry Data Messages linked to this Orbit Data Message. */
- private String rdmMessageLink;
- /** Unique identifier of Tracking Data Messages linked to this Orbit Data Message. */
- private String tdmMessageLink;
- /** Operator of the space object. */
- private String operator;
- /** Owner of the space object. */
- private String owner;
- /** Name of the country where the space object owner is based. */
- private String country;
- /** Name of the constellation this space object belongs to. */
- private String constellation;
- /** Type of object. */
- private ObjectType objectType;
- /** Epoch to which <em>all</em> relative times are referenced in data blocks;
- * unless overridden by block-specific {@code EPOCH_TZERO} values. */
- private AbsoluteDate epochT0;
- /** Operational status. */
- private OpsStatus opsStatus;
- /** Orbit category. */
- private OrbitCategory orbitCategory;
- /** List of elements of information data blocks included in this message. */
- private List<OcmElements> ocmDataElements;
- /** Spacecraft clock count at {@link #getEpochT0()}. */
- private double sclkOffsetAtEpoch;
- /** Number of spacecraft clock seconds occurring during one SI second. */
- private double sclkSecPerSISec;
- /** Creation date of previous message from a given originator. */
- private AbsoluteDate previousMessageEpoch;
- /** Creation date of next message from a given originator. */
- private AbsoluteDate nextMessageEpoch;
- /** Time of the earliest data contained in the OCM. */
- private AbsoluteDate startTime;
- /** Time of the latest data contained in the OCM. */
- private AbsoluteDate stopTime;
- /** Span of time that the OCM covers. */
- private double timeSpan;
- /** Difference (TAI – UTC) in seconds at epoch {@link #epochT0}. */
- private double taimutcT0;
- /** Epoch of next leap second.
- * @since 11.2
- */
- private AbsoluteDate nextLeapEpoch;
- /** Difference (TAI – UTC) in seconds incorporated at {@link #nextLeapEpoch}.
- * @since 11.2
- */
- private double nextLeapTaimutc;
- /** Difference (UT1 – UTC) in seconds at epoch {@link #epochT0}. */
- private double ut1mutcT0;
- /** Source and version of Earth Orientation Parameters. */
- private String eopSource;
- /** Interpolation method for Earth Orientation Parameters. */
- private String interpMethodEOP;
- /** Source and version of celestial body (e.g. Sun/Earth/Planetary). */
- private String celestialSource;
- /** Data context.
- * @since 12.0
- */
- private final DataContext dataContext;
- /** Create a new meta-data.
- * @param dataContext data context
- */
- public OcmMetadata(final DataContext dataContext) {
- // set up the few fields that have default values as per CCSDS standard
- super(TimeSystem.UTC);
- sclkOffsetAtEpoch = DEFAULT_SCLK_OFFSET_AT_EPOCH;
- sclkSecPerSISec = DEFAULT_SCLK_SEC_PER_SI_SEC;
- timeSpan = Double.NaN;
- taimutcT0 = Double.NaN;
- ut1mutcT0 = Double.NaN;
- nextLeapTaimutc = Double.NaN;
- this.dataContext = dataContext;
- }
- /** {@inheritDoc} */
- @Override
- public void validate(final double version) {
- // we don't call super.checkMandatoryEntries() because
- // all of the parameters considered mandatory at ODM level
- // for OPM, OMM and OEM are in fact optional in OCM
- // only TIME_SYSTEM and EPOCH_TZERO are mandatory
- checkNotNull(getTimeSystem(), MetadataKey.TIME_SYSTEM.name());
- checkNotNull(epochT0, OcmMetadataKey.EPOCH_TZERO.name());
- if (nextLeapEpoch != null) {
- checkNotNaN(nextLeapTaimutc, OcmMetadataKey.NEXT_LEAP_TAIMUTC.name());
- }
- }
- /** Get the international designator for the object.
- * @return international designator for the object
- */
- public String getInternationalDesignator() {
- return internationalDesignator;
- }
- /** Set the international designator for the object.
- * @param internationalDesignator international designator for the object
- */
- public void setInternationalDesignator(final String internationalDesignator) {
- refuseFurtherComments();
- this.internationalDesignator = internationalDesignator;
- }
- /** Get the specification of satellite catalog source.
- * @return specification of satellite catalog source
- */
- public String getCatalogName() {
- return catalogName;
- }
- /** Set the specification of satellite catalog source.
- * @param catalogName specification of satellite catalog source
- */
- public void setCatalogName(final String catalogName) {
- refuseFurtherComments();
- this.catalogName = catalogName;
- }
- /** Get the unique satellite identification designator for the object.
- * @return unique satellite identification designator for the object.
- */
- public String getObjectDesignator() {
- return objectDesignator;
- }
- /** Set the unique satellite identification designator for the object.
- * @param objectDesignator unique satellite identification designator for the object
- */
- public void setObjectDesignator(final String objectDesignator) {
- refuseFurtherComments();
- this.objectDesignator = objectDesignator;
- }
- /** Get the alternate names for this space object.
- * @return alternate names
- */
- public List<String> getAlternateNames() {
- return alternateNames;
- }
- /** Set the alternate names for this space object.
- * @param alternateNames alternate names
- */
- public void setAlternateNames(final List<String> alternateNames) {
- refuseFurtherComments();
- this.alternateNames = alternateNames;
- }
- /** Get the programmatic Point Of Contact at originator.
- * @return programmatic Point Of Contact at originator
- */
- public String getOriginatorPOC() {
- return originatorPOC;
- }
- /** Set the programmatic Point Of Contact at originator.
- * @param originatorPOC programmatic Point Of Contact at originator
- */
- public void setOriginatorPOC(final String originatorPOC) {
- refuseFurtherComments();
- this.originatorPOC = originatorPOC;
- }
- /** Get the position of Programmatic Point Of Contact at originator.
- * @return position of Programmatic Point Of Contact at originator
- */
- public String getOriginatorPosition() {
- return originatorPosition;
- }
- /** Set the position of Programmatic Point Of Contact at originator.
- * @param originatorPosition position of Programmatic Point Of Contact at originator
- */
- public void setOriginatorPosition(final String originatorPosition) {
- refuseFurtherComments();
- this.originatorPosition = originatorPosition;
- }
- /** Get the phone number of Programmatic Point Of Contact at originator.
- * @return phone number of Programmatic Point Of Contact at originator
- */
- public String getOriginatorPhone() {
- return originatorPhone;
- }
- /** Set the phone number of Programmatic Point Of Contact at originator.
- * @param originatorPhone phone number of Programmatic Point Of Contact at originator
- */
- public void setOriginatorPhone(final String originatorPhone) {
- refuseFurtherComments();
- this.originatorPhone = originatorPhone;
- }
- /** Get the email address of Programmatic Point Of Contact at originator.
- * @return email address of Programmatic Point Of Contact at originator
- * @since 11.2
- */
- public String getOriginatorEmail() {
- return originatorEmail;
- }
- /** Set the email address of Programmatic Point Of Contact at originator.
- * @param originatorEmail email address of Programmatic Point Of Contact at originator
- * @since 11.2
- */
- public void setOriginatorEmail(final String originatorEmail) {
- refuseFurtherComments();
- this.originatorEmail = originatorEmail;
- }
- /** Get the address of Programmatic Point Of Contact at originator.
- * @return address of Programmatic Point Of Contact at originator
- */
- public String getOriginatorAddress() {
- return originatorAddress;
- }
- /** Set the address of Programmatic Point Of Contact at originator.
- * @param originatorAddress address of Programmatic Point Of Contact at originator
- */
- public void setOriginatorAddress(final String originatorAddress) {
- refuseFurtherComments();
- this.originatorAddress = originatorAddress;
- }
- /** Get the creating agency or operator.
- * @return creating agency or operator
- */
- public String getTechOrg() {
- return techOrg;
- }
- /** Set the creating agency or operator.
- * @param techOrg creating agency or operator
- */
- public void setTechOrg(final String techOrg) {
- refuseFurtherComments();
- this.techOrg = techOrg;
- }
- /** Get the Technical Point Of Contact at originator.
- * @return Technical Point Of Contact at originator
- */
- public String getTechPOC() {
- return techPOC;
- }
- /** Set the Technical Point Of Contact at originator.
- * @param techPOC Technical Point Of Contact at originator
- */
- public void setTechPOC(final String techPOC) {
- refuseFurtherComments();
- this.techPOC = techPOC;
- }
- /** Get the position of Technical Point Of Contact at originator.
- * @return position of Technical Point Of Contact at originator
- */
- public String getTechPosition() {
- return techPosition;
- }
- /** Set the position of Technical Point Of Contact at originator.
- * @param techPosition position of Technical Point Of Contact at originator
- */
- public void setTechPosition(final String techPosition) {
- refuseFurtherComments();
- this.techPosition = techPosition;
- }
- /** Get the phone number of Technical Point Of Contact at originator.
- * @return phone number of Technical Point Of Contact at originator
- */
- public String getTechPhone() {
- return techPhone;
- }
- /** Set the phone number of Technical Point Of Contact at originator.
- * @param techPhone phone number of Technical Point Of Contact at originator
- */
- public void setTechPhone(final String techPhone) {
- refuseFurtherComments();
- this.techPhone = techPhone;
- }
- /** Get the email address of Technical Point Of Contact at originator.
- * @return email address of Technical Point Of Contact at originator
- * @since 11.2
- */
- public String getTechEmail() {
- return techEmail;
- }
- /** Set the email address of Technical Point Of Contact at originator.
- * @param techEmail email address of Technical Point Of Contact at originator
- * @since 11.2
- */
- public void setTechEmail(final String techEmail) {
- refuseFurtherComments();
- this.techEmail = techEmail;
- }
- /** Get the address of Technical Point Of Contact at originator.
- * @return address of Technical Point Of Contact at originator
- */
- public String getTechAddress() {
- return techAddress;
- }
- /** Set the address of Technical Point Of Contact at originator.
- * @param techAddress address of Technical Point Of Contact at originator
- */
- public void setTechAddress(final String techAddress) {
- refuseFurtherComments();
- this.techAddress = techAddress;
- }
- /** Get the unique ID identifying previous message from a given originator.
- * @return unique ID identifying previous message from a given originator
- */
- public String getPreviousMessageID() {
- return previousMessageID;
- }
- /** Set the unique ID identifying previous message from a given originator.
- * @param previousMessageID unique ID identifying previous message from a given originator
- */
- public void setPreviousMessageID(final String previousMessageID) {
- refuseFurtherComments();
- this.previousMessageID = previousMessageID;
- }
- /** Get the unique ID identifying next message from a given originator.
- * @return unique ID identifying next message from a given originator
- */
- public String getNextMessageID() {
- return nextMessageID;
- }
- /** Set the unique ID identifying next message from a given originator.
- * @param nextMessageID unique ID identifying next message from a given originator
- */
- public void setNextMessageID(final String nextMessageID) {
- refuseFurtherComments();
- this.nextMessageID = nextMessageID;
- }
- /** Get the Unique identifier of Attitude Data Message linked to this Orbit Data Message.
- * @return Unique identifier of Attitude Data Message linked to this Orbit Data Message
- */
- public String getAdmMessageLink() {
- return admMessageLink;
- }
- /** Set the Unique identifier of Attitude Data Message linked to this Orbit Data Message.
- * @param admMessageLink Unique identifier of Attitude Data Message linked to this Orbit Data Message
- */
- public void setAdmMessageLink(final String admMessageLink) {
- refuseFurtherComments();
- this.admMessageLink = admMessageLink;
- }
- /** Get the Unique identifier of Conjunction Data Message linked to this Orbit Data Message.
- * @return Unique identifier of Conjunction Data Message linked to this Orbit Data Message
- */
- public String getCdmMessageLink() {
- return cdmMessageLink;
- }
- /** Set the Unique identifier of Conjunction Data Message linked to this Orbit Data Message.
- * @param cdmMessageLink Unique identifier of Conjunction Data Message linked to this Orbit Data Message
- */
- public void setCdmMessageLink(final String cdmMessageLink) {
- refuseFurtherComments();
- this.cdmMessageLink = cdmMessageLink;
- }
- /** Get the Unique identifier of Pointing Request Message linked to this Orbit Data Message.
- * @return Unique identifier of Pointing Request Message linked to this Orbit Data Message
- */
- public String getPrmMessageLink() {
- return prmMessageLink;
- }
- /** Set the Unique identifier of Pointing Request Message linked to this Orbit Data Message.
- * @param prmMessageLink Unique identifier of Pointing Request Message linked to this Orbit Data Message
- */
- public void setPrmMessageLink(final String prmMessageLink) {
- refuseFurtherComments();
- this.prmMessageLink = prmMessageLink;
- }
- /** Get the Unique identifier of Reentry Data Message linked to this Orbit Data Message.
- * @return Unique identifier of Reentry Data Message linked to this Orbit Data Message
- */
- public String getRdmMessageLink() {
- return rdmMessageLink;
- }
- /** Set the Unique identifier of Reentry Data Message linked to this Orbit Data Message.
- * @param rdmMessageLink Unique identifier of Reentry Data Message linked to this Orbit Data Message
- */
- public void setRdmMessageLink(final String rdmMessageLink) {
- refuseFurtherComments();
- this.rdmMessageLink = rdmMessageLink;
- }
- /** Get the Unique identifier of Tracking Data Message linked to this Orbit Data Message.
- * @return Unique identifier of Tracking Data Message linked to this Orbit Data Message
- */
- public String getTdmMessageLink() {
- return tdmMessageLink;
- }
- /** Set the Unique identifier of Tracking Data Message linked to this Orbit Data Message.
- * @param tdmMessageLink Unique identifier of Tracking Data Message linked to this Orbit Data Message
- */
- public void setTdmMessageLink(final String tdmMessageLink) {
- refuseFurtherComments();
- this.tdmMessageLink = tdmMessageLink;
- }
- /** Get the operator of the space object.
- * @return operator of the space object
- */
- public String getOperator() {
- return operator;
- }
- /** Set the operator of the space object.
- * @param operator operator of the space object
- */
- public void setOperator(final String operator) {
- refuseFurtherComments();
- this.operator = operator;
- }
- /** Get the owner of the space object.
- * @return owner of the space object
- */
- public String getOwner() {
- return owner;
- }
- /** Set the owner of the space object.
- * @param owner owner of the space object
- */
- public void setOwner(final String owner) {
- refuseFurtherComments();
- this.owner = owner;
- }
- /** Get the name of the country where the space object owner is based.
- * @return name of the country where the space object owner is based
- */
- public String getCountry() {
- return country;
- }
- /** Set the name of the country where the space object owner is based.
- * @param country name of the country where the space object owner is based
- */
- public void setCountry(final String country) {
- refuseFurtherComments();
- this.country = country;
- }
- /** Get the name of the constellation this space object belongs to.
- * @return name of the constellation this space object belongs to
- */
- public String getConstellation() {
- return constellation;
- }
- /** Set the name of the constellation this space object belongs to.
- * @param constellation name of the constellation this space object belongs to
- */
- public void setConstellation(final String constellation) {
- refuseFurtherComments();
- this.constellation = constellation;
- }
- /** Get the type of object.
- * @return type of object
- */
- public ObjectType getObjectType() {
- return objectType;
- }
- /** Set the type of object.
- * @param objectType type of object
- */
- public void setObjectType(final ObjectType objectType) {
- refuseFurtherComments();
- this.objectType = objectType;
- }
- /** Get the epoch to which <em>all</em> relative times are referenced in data blocks.
- * @return epoch to which <em>all</em> relative times are referenced in data blocks
- */
- public AbsoluteDate getEpochT0() {
- return epochT0;
- }
- /** Set the epoch to which <em>all</em> relative times are referenced in data blocks.
- * @param epochT0 epoch to which <em>all</em> relative times are referenced in data blocks
- */
- public void setEpochT0(final AbsoluteDate epochT0) {
- refuseFurtherComments();
- this.epochT0 = epochT0;
- }
- /** Get the operational status.
- * @return operational status
- */
- public OpsStatus getOpsStatus() {
- return opsStatus;
- }
- /** Set the operational status.
- * @param opsStatus operational status
- */
- public void setOpsStatus(final OpsStatus opsStatus) {
- refuseFurtherComments();
- this.opsStatus = opsStatus;
- }
- /** Get the orbit category.
- * @return orbit category
- */
- public OrbitCategory getOrbitCategory() {
- return orbitCategory;
- }
- /** Set the orbit category.
- * @param orbitCategory orbit category
- */
- public void setOrbitCategory(final OrbitCategory orbitCategory) {
- refuseFurtherComments();
- this.orbitCategory = orbitCategory;
- }
- /** Get the list of elements of information data blocks included in this message.
- * @return list of elements of information data blocks included in this message
- */
- public List<OcmElements> getOcmDataElements() {
- return ocmDataElements;
- }
- /** Set the list of elements of information data blocks included in this message.
- * @param ocmDataElements list of elements of information data blocks included in this message
- */
- public void setOcmDataElements(final List<OcmElements> ocmDataElements) {
- refuseFurtherComments();
- this.ocmDataElements = ocmDataElements;
- }
- /** Get the spacecraft clock count at {@link #getEpochT0()}.
- * @return spacecraft clock count at {@link #getEpochT0()}
- */
- public double getSclkOffsetAtEpoch() {
- return sclkOffsetAtEpoch;
- }
- /** Set the spacecraft clock count at {@link #getEpochT0()}.
- * @param sclkOffsetAtEpoch spacecraft clock count at {@link #getEpochT0()}
- */
- public void setSclkOffsetAtEpoch(final double sclkOffsetAtEpoch) {
- refuseFurtherComments();
- this.sclkOffsetAtEpoch = sclkOffsetAtEpoch;
- }
- /** Get the number of spacecraft clock seconds occurring during one SI second.
- * @return number of spacecraft clock seconds occurring during one SI second
- */
- public double getSclkSecPerSISec() {
- return sclkSecPerSISec;
- }
- /** Set the number of spacecraft clock seconds occurring during one SI second.
- * @param secClockPerSISec number of spacecraft clock seconds occurring during one SI second
- */
- public void setSclkSecPerSISec(final double secClockPerSISec) {
- refuseFurtherComments();
- this.sclkSecPerSISec = secClockPerSISec;
- }
- /** Get the creation date of previous message from a given originator.
- * @return creation date of previous message from a given originator
- */
- public AbsoluteDate getPreviousMessageEpoch() {
- return previousMessageEpoch;
- }
- /** Set the creation date of previous message from a given originator.
- * @param previousMessageEpoch creation date of previous message from a given originator
- */
- public void setPreviousMessageEpoch(final AbsoluteDate previousMessageEpoch) {
- refuseFurtherComments();
- this.previousMessageEpoch = previousMessageEpoch;
- }
- /** Get the creation date of next message from a given originator.
- * @return creation date of next message from a given originator
- */
- public AbsoluteDate getNextMessageEpoch() {
- return nextMessageEpoch;
- }
- /** Set the creation date of next message from a given originator.
- * @param nextMessageEpoch creation date of next message from a given originator
- */
- public void setNextMessageEpoch(final AbsoluteDate nextMessageEpoch) {
- refuseFurtherComments();
- this.nextMessageEpoch = nextMessageEpoch;
- }
- /** Get the time of the earliest data contained in the OCM.
- * @return time of the earliest data contained in the OCM
- */
- public AbsoluteDate getStartTime() {
- return startTime;
- }
- /** Set the time of the earliest data contained in the OCM.
- * @param startTime time of the earliest data contained in the OCM
- */
- public void setStartTime(final AbsoluteDate startTime) {
- refuseFurtherComments();
- this.startTime = startTime;
- }
- /** Get the time of the latest data contained in the OCM.
- * @return time of the latest data contained in the OCM
- */
- public AbsoluteDate getStopTime() {
- return stopTime;
- }
- /** Set the time of the latest data contained in the OCM.
- * @param stopTime time of the latest data contained in the OCM
- */
- public void setStopTime(final AbsoluteDate stopTime) {
- refuseFurtherComments();
- this.stopTime = stopTime;
- }
- /** Get the span of time in seconds that the OCM covers.
- * @return span of time in seconds that the OCM covers
- */
- public double getTimeSpan() {
- return timeSpan;
- }
- /** Set the span of time in seconds that the OCM covers.
- * @param timeSpan span of time in seconds that the OCM covers
- */
- public void setTimeSpan(final double timeSpan) {
- refuseFurtherComments();
- this.timeSpan = timeSpan;
- }
- /** Get the difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}.
- * @return difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}
- */
- public double getTaimutcT0() {
- return taimutcT0;
- }
- /** Set the difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}.
- * @param taimutcT0 difference (TAI – UTC) in seconds at epoch {@link #getEpochT0()}
- */
- public void setTaimutcT0(final double taimutcT0) {
- refuseFurtherComments();
- this.taimutcT0 = taimutcT0;
- }
- /** Get the epoch of next leap second.
- * @return epoch of next leap second
- * @since 11.2
- */
- public AbsoluteDate getNextLeapEpoch() {
- return nextLeapEpoch;
- }
- /** Set the epoch of next leap second.
- * @param nextLeapEpoch epoch of next leap second
- * @since 11.2
- */
- public void setNextLeapEpoch(final AbsoluteDate nextLeapEpoch) {
- refuseFurtherComments();
- this.nextLeapEpoch = nextLeapEpoch;
- }
- /** Get the difference (TAI – UTC) in seconds incorporated at epoch {@link #getNextLeapEpoch()}.
- * @return difference (TAI – UTC) in seconds incorporated at epoch {@link #getNextLeapEpoch()}
- * @since 11.2
- */
- public double getNextLeapTaimutc() {
- return nextLeapTaimutc;
- }
- /** Set the difference (TAI – UTC) in seconds incorporated at epoch {@link #getNextLeapEpoch()}.
- * @param nextLeapTaimutc difference (TAI – UTC) in seconds incorporated at epoch {@link #getNextLeapEpoch()}
- * @since 11.2
- */
- public void setNextLeapTaimutc(final double nextLeapTaimutc) {
- refuseFurtherComments();
- this.nextLeapTaimutc = nextLeapTaimutc;
- }
- /** Get the difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}.
- * @return difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}
- */
- public double getUt1mutcT0() {
- return ut1mutcT0;
- }
- /** Set the difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}.
- * @param ut1mutcT0 difference (UT1 – UTC) in seconds at epoch {@link #getEpochT0()}
- */
- public void setUt1mutcT0(final double ut1mutcT0) {
- refuseFurtherComments();
- this.ut1mutcT0 = ut1mutcT0;
- }
- /** Get the source and version of Earth Orientation Parameters.
- * @return source and version of Earth Orientation Parameters
- */
- public String getEopSource() {
- return eopSource;
- }
- /** Set the source and version of Earth Orientation Parameters.
- * @param eopSource source and version of Earth Orientation Parameters
- */
- public void setEopSource(final String eopSource) {
- refuseFurtherComments();
- this.eopSource = eopSource;
- }
- /** Get the interpolation method for Earth Orientation Parameters.
- * @return interpolation method for Earth Orientation Parameters
- */
- public String getInterpMethodEOP() {
- return interpMethodEOP;
- }
- /** Set the interpolation method for Earth Orientation Parameters.
- * @param interpMethodEOP interpolation method for Earth Orientation Parameters
- */
- public void setInterpMethodEOP(final String interpMethodEOP) {
- refuseFurtherComments();
- this.interpMethodEOP = interpMethodEOP;
- }
- /** Get the source and version of celestial body (e.g. Sun/Earth/Planetary).
- * @return source and version of celestial body (e.g. Sun/Earth/Planetary)
- */
- public String getCelestialSource() {
- return celestialSource;
- }
- /** Set the source and version of celestial body (e.g. Sun/Earth/Planetary).
- * @param celestialSource source and version of celestial body (e.g. Sun/Earth/Planetary)
- */
- public void setCelestialSource(final String celestialSource) {
- refuseFurtherComments();
- this.celestialSource = celestialSource;
- }
- /** Copy the instance, making sure mandatory fields have been initialized.
- * <p>
- * Message ID, previous/next references, start and stop times are not copied.
- * </p>
- * @param version format version
- * @return a new copy
- * @since 12.0
- */
- public OcmMetadata copy(final double version) {
- validate(version);
- // allocate new instance
- final OcmMetadata copy = new OcmMetadata(dataContext);
- // copy comments
- for (String comment : getComments()) {
- copy.addComment(comment);
- }
- // copy metadata
- copy.setInternationalDesignator(getInternationalDesignator());
- copy.setCatalogName(getCatalogName());
- copy.setObjectDesignator(getObjectDesignator());
- copy.setAlternateNames(getAlternateNames());
- copy.setOriginatorPOC(getOriginatorPOC());
- copy.setOriginatorPosition(getOriginatorPosition());
- copy.setOriginatorPhone(getOriginatorPhone());
- copy.setOriginatorEmail(getOriginatorEmail());
- copy.setOriginatorAddress(getOriginatorAddress());
- copy.setTechOrg(getTechOrg());
- copy.setTechPOC(getTechPOC());
- copy.setTechPosition(getTechPosition());
- copy.setTechPhone(getTechPhone());
- copy.setTechEmail(getTechEmail());
- copy.setTechAddress(getTechAddress());
- copy.setAdmMessageLink(getAdmMessageLink());
- copy.setCdmMessageLink(getCdmMessageLink());
- copy.setPrmMessageLink(getPrmMessageLink());
- copy.setRdmMessageLink(getRdmMessageLink());
- copy.setTdmMessageLink(getTdmMessageLink());
- copy.setOperator(getOperator());
- copy.setOwner(getOwner());
- copy.setCountry(getCountry());
- copy.setConstellation(getConstellation());
- copy.setObjectType(getObjectType());
- copy.setEpochT0(getEpochT0());
- copy.setOpsStatus(getOpsStatus());
- copy.setOrbitCategory(getOrbitCategory());
- copy.setOcmDataElements(getOcmDataElements());
- copy.setSclkOffsetAtEpoch(getSclkOffsetAtEpoch());
- copy.setSclkSecPerSISec(getSclkSecPerSISec());
- copy.setTaimutcT0(getTaimutcT0());
- copy.setNextLeapEpoch(getNextLeapEpoch());
- copy.setNextLeapTaimutc(getNextLeapTaimutc());
- copy.setUt1mutcT0(getUt1mutcT0());
- copy.setEopSource(getEopSource());
- copy.setInterpMethodEOP(getInterpMethodEOP());
- copy.setCelestialSource(getCelestialSource());
- return copy;
- }
- }