Catégorie:Thread Safety 4.15 : Différence entre versions
De Wiki
(Page créée avec « The following tables contains information about the different class of PATRIUS and their thread-safety properties. {| class="wikitable" |- ! scope="col"| Class (total num... ») |
(Aucune différence)
|
Version actuelle en date du 21 novembre 2024 à 15:03
The following tables contains information about the different class of PATRIUS and their thread-safety properties.
Class (total number : 43) | Concurrency | Comment |
---|---|---|
fr.cnes.sirius.patrius.math.UtilsCommonsMath | immutable | |
fr.cnes.sirius.patrius.math.analysis.differentiation.RiddersDifferentiator | immutable | |
fr.cnes.sirius.patrius.math.analysis.interpolation.BiLinearIntervalsFunction | not thread-safe | input ISearchIndex not thread-safe |
fr.cnes.sirius.patrius.math.analysis.interpolation.BiLinearIntervalsInterpolator | unconditionally thread-safe | |
fr.cnes.sirius.patrius.math.analysis.interpolation.TriLinearIntervalsFunction | not thread-safe | input ISearchIndex not thread-safe |
fr.cnes.sirius.patrius.math.analysis.interpolation.TriLinearIntervalsInterpolator | unconditionally thread-safe | |
fr.cnes.sirius.patrius.math.analysis.interpolation.UniLinearIntervalsFunction | not thread-safe | input ISearchIndex not thread-safe |
fr.cnes.sirius.patrius.math.analysis.interpolation.UniLinearIntervalsInterpolator | unconditionally thread-safe | |
fr.cnes.sirius.patrius.math.analysis.polynomials.ElementaryMultiplicationTypes | unconditionally thread-safe | |
fr.cnes.sirius.patrius.math.analysis.polynomials.FourierDecompositionEngine | not thread-safe | not thread safe because of the setFunction method that can change the UnivariateFunction being decomposed |
fr.cnes.sirius.patrius.math.analysis.polynomials.FourierSeries | immutable | |
fr.cnes.sirius.patrius.math.analysis.polynomials.FourierSeriesApproximation | immutable if function is immutable | |
fr.cnes.sirius.patrius.math.analysis.polynomials.TrigonometricPolynomialFunction | immutable | |
fr.cnes.sirius.patrius.math.analysis.polynomials.TrigonometricPolynomialPrimitive | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Disk | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Ellipse | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Ellipsoid | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.EllipticCone | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.EllipticCylinder | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.InfiniteEllipticCone | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.InfiniteEllipticCylinder | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.InfiniteRectangleCone | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.InfiniteRectangleCylinder | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.InfiniteRightCircularCone | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.InfiniteRightCircularCylinder | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.LineSegment | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Matrix3D | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Parallelepiped | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Plate | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.RectangleCone | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.RightCircularCone | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.RightCircularCylinder | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Sphere | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.SphericalCap | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Spheroid | immutable | |
fr.cnes.sirius.patrius.math.linear.UDDecompositionImpl | immutable | |
fr.cnes.sirius.patrius.math.ode.nonstiff.RungeKutta6Integrator | not thread-safe | |
fr.cnes.sirius.patrius.math.ode.nonstiff.RungeKutta6StepInterpolator | not thread-safe | |
fr.cnes.sirius.patrius.math.random.UniformlyCorrelatedRandomVectorGenerator | not thread-safe | |
fr.cnes.sirius.patrius.math.utils.BinarySearchIndexClosedOpen | immutable | |
fr.cnes.sirius.patrius.math.utils.BinarySearchIndexOpenClosed | immutable | |
fr.cnes.sirius.patrius.math.utils.RecordSegmentSearchIndex | immutable | |
fr.cnes.sirius.patrius.math.utils.SearchIndexLibrary | immutable |
Class (total number : 103) | Concurrency | Comment |
---|---|---|
fr.cnes.sirius.patrius.attitudes.AttitudeChronologicalComparator | immutable | |
fr.cnes.sirius.patrius.attitudes.AttitudeFrame | not thread safe | it is a Frame. |
fr.cnes.sirius.patrius.attitudes.AttitudeLawLeg | conditionally thread-safe | The use of an AttitudeLaw makes it thread-safe only if the AttitudeLaw is. |
fr.cnes.sirius.patrius.attitudes.AttitudeLegLaw | conditionally thread-safe | The use of an AttitudeLegLaw makes it thread-safe only if the two AttitudeLaw and the AttitudeLeg are. |
fr.cnes.sirius.patrius.attitudes.AttitudeLegsSequence | not thread-safe | The instances are mutable. |
fr.cnes.sirius.patrius.attitudes.AttitudeTransformProvider | conditionally thread-safe | is thread-safe if all attributes are. |
fr.cnes.sirius.patrius.attitudes.ComposedAttitudeLaw | conditionally thread-safe | is thread-safe if the AttitudeLaw attribute is. |
fr.cnes.sirius.patrius.attitudes.ConstantSpinSlew | not thread safe | this class is not thread safe because the slew can be re-computed while the method getAttitude(PVCoordinatesProvider, AbsoluteDate, Frame) is called. |
fr.cnes.sirius.patrius.attitudes.DirectionTrackingOrientation | conditionally thread safe | the IDirection object has to be thread-safe itself |
fr.cnes.sirius.patrius.attitudes.FixedStepAttitudeEphemerisGenerator | not thread-safe | The AttitudeLegsSequence attribute is mutable. |
fr.cnes.sirius.patrius.attitudes.OrientationFrame | not thread safe | it is a Frame. |
fr.cnes.sirius.patrius.attitudes.OrientationTransformProvider | conditionally thread-safe | thread-safe if all attributes are. |
fr.cnes.sirius.patrius.attitudes.RelativeTabulatedAttitudeLaw | conditionally thread-safe | The use of an RelativeTabulatedAttitudeLaw makes it thread-safe only if the AttitudeLeglaw is |
fr.cnes.sirius.patrius.attitudes.RelativeTabulatedAttitudeLeg | immutable | |
fr.cnes.sirius.patrius.attitudes.SunPointing | unconditionally thread safe | |
fr.cnes.sirius.patrius.attitudes.TabulatedAttitude | immutable | |
fr.cnes.sirius.patrius.attitudes.TwoDirectionsAttitude | unconditionally thread safe | |
fr.cnes.sirius.patrius.attitudes.TwoSpinBiasSlew | not thread safe | this class is not thread safe because the local attitude ephemeris is changed. |
fr.cnes.sirius.patrius.attitudes.VariableStepAttitudeEphemerisGenerator | not thread-safe | The AttitudeLegsSequence attribute is mutable. |
fr.cnes.sirius.patrius.attitudes.directions.CelestialBodyPolesAxisDirection | conditionally thread-safe | this class is thread-safe only if the underlying CelestialBody is too. |
fr.cnes.sirius.patrius.attitudes.directions.CentralBodyCenterDirection | immutable | |
fr.cnes.sirius.patrius.attitudes.directions.ConstantVectorDirection | not thread-safe | The use of a frame linked to the tree of frames makes this class not thread-safe. |
fr.cnes.sirius.patrius.attitudes.directions.CrossProductDirection | conditionally thread-safe | this class is not thread-safe |
fr.cnes.sirius.patrius.attitudes.directions.GenericTargetDirection | not thread-safe | Not thread-safe by default.No use case for sharing an instance between threads found. |
fr.cnes.sirius.patrius.attitudes.directions.GlintApproximatePointingDirection | not thread-safe | Not thread-safe by default.No use case for sharing an instance between threads found. |
fr.cnes.sirius.patrius.attitudes.directions.GroundVelocityDirection | conditionally thread-safe | The use of a celestial body linked to the tree of frames makes this class thread-safe only if the underlying CelestialBody is too. |
fr.cnes.sirius.patrius.attitudes.directions.MomentumDirection | conditionally thread-safe | The use of a celestial body linked to the tree of frames makes this class thread-safe only if the underlying CelestialBody is too. |
fr.cnes.sirius.patrius.attitudes.directions.NadirDirection | conditionally thread-safe | The use of a celestial body linked to the tree of frames makes this class thread-safe only if the underlying CelestialBody is too. |
fr.cnes.sirius.patrius.attitudes.directions.ToCelestialBodyCenterDirection | conditionally thread-safe | The use of a celestial body linked to the tree of frames makes this class thread-safe only if the underlying CelestialBody is too. |
fr.cnes.sirius.patrius.attitudes.directions.VelocityDirection | not thread-safe | Not thread-safe by default. No use case for sharing an instance between threads found. |
fr.cnes.sirius.patrius.attitudes.kinematics.SlerpInterpolator | immutable | |
fr.cnes.sirius.patrius.bodies.ExtendedOneAxisEllipsoid | not thread-safe | the use of frames makes this class not thread-safe |
fr.cnes.sirius.patrius.bodies.MeeusMoon | immutable | |
fr.cnes.sirius.patrius.bodies.MeeusSun | immutable | |
fr.cnes.sirius.patrius.forces.atmospheres.MSIS2000.ApCoef | immutable | |
fr.cnes.sirius.patrius.forces.atmospheres.MSIS2000.Flags | not thread-safe | |
fr.cnes.sirius.patrius.forces.atmospheres.MSIS2000.Input | not thread-safe | |
fr.cnes.sirius.patrius.forces.atmospheres.MSIS2000.NRLMSISE00 | thread-hostile | |
fr.cnes.sirius.patrius.forces.atmospheres.MSIS2000.NRLMSISE00Data | immutable | |
fr.cnes.sirius.patrius.forces.atmospheres.MSIS2000.Output | not thread-safe | |
fr.cnes.sirius.patrius.forces.atmospheres.MSISE2000 | thread-hostile | The direct use of thread hostile objects makes this class thread hostile itself. |
fr.cnes.sirius.patrius.forces.atmospheres.US76 | thread-hostile | The direct use of thread hostile objects makes this class thread hostile itself. |
fr.cnes.sirius.patrius.forces.atmospheres.US76Data | immutable | |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.ACSOLFormatReader | not thread-safe | instance is mutable |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.ConstantSolarActivity | immutable | |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.NOAAFormatReader | not thread-safe | instance is mutable |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.SolarActivityDataFactory | thread-hostile | uses {@link DataProvidersManager} which is thread hostile |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.SolarActivityToolbox | immutable | |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.specialized.ClassicalMSISE2000SolarData | conditionally thread-safe | thread-safe if SolarActivityDataProvider is thread-safe |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.specialized.ContinuousMSISE2000SolarData | conditionally thread-safe | thread-safe if SolarActivityDataProvider is thread-safe |
fr.cnes.sirius.patrius.forces.atmospheres.solarActivity.specialized.DTM2000SolarData | conditionally thread-safe | thread-safe if SolarActivityDataProvider is thread-safe |
fr.cnes.sirius.patrius.forces.gravity.EarthGravitationalModelFactory | not thread-safe | the presence of static methods makes this class not thread-safe |
fr.cnes.sirius.patrius.forces.gravity.tides.OceanTides | not thread-safe | not thread safe because of the method updateCoefficientsCandS(). |
fr.cnes.sirius.patrius.forces.gravity.tides.OceanTidesDataProvider | immutable | |
fr.cnes.sirius.patrius.forces.gravity.tides.OceanTidesWaves | immutable | |
fr.cnes.sirius.patrius.forces.gravity.tides.TerrestrialTides | not thread-safe | not thread safe because of the method updateCoefficientsCandS(). |
fr.cnes.sirius.patrius.forces.gravity.tides.TerrestrialTidesDataProvider | thread safe | |
fr.cnes.sirius.patrius.forces.gravity.tides.TidesStandards | immutable | |
fr.cnes.sirius.patrius.forces.gravity.tides.TidesToolbox | immutable | |
fr.cnes.sirius.patrius.forces.gravity.tides.coefficients.FES2004FormatReader | not thread-safe | instance is mutable |
fr.cnes.sirius.patrius.forces.gravity.tides.coefficients.OceanTidesCoefficientsFactory | thread-hostile | uses a thread-hostile DataProvidersManager |
fr.cnes.sirius.patrius.forces.gravity.tides.coefficients.OceanTidesCoefficientsSet | immutable | |
fr.cnes.sirius.patrius.forces.gravity.variations.VariablePotentialAttractionModel | not thread-safe | not thread-safe because of global arrays |
fr.cnes.sirius.patrius.forces.gravity.variations.coefficients.GRGSRL02FormatReader | not thread-safe | because of static fields |
fr.cnes.sirius.patrius.forces.gravity.variations.coefficients.VariableGravityFieldFactory | not thread-safe | because of static fields |
fr.cnes.sirius.patrius.forces.gravity.variations.coefficients.VariablePotentialCoefficientsSet | immutable | |
fr.cnes.sirius.patrius.forces.maneuvers.ConstantThrustError | not thread-safe | internal mutable attributes |
fr.cnes.sirius.patrius.forces.maneuvers.VariableThrustManeuver | not thread-safe | internal mutable attributes |
fr.cnes.sirius.patrius.forces.radiation.ElementaryFlux | immutable | immutable class |
fr.cnes.sirius.patrius.forces.radiation.KnockeRiesModel | immutable | |
fr.cnes.sirius.patrius.forces.radiation.RediffusedFlux | conditionally thread-safe | thread-safe if all constructor parameters are too. |
fr.cnes.sirius.patrius.forces.radiation.RediffusedRadiationPressure | conditionally thread-safe | thread-safe if the CelestialBody attribute is. |
fr.cnes.sirius.patrius.propagation.analytical.covariance.CovarianceInterpolation | not thread-safe | internal mutable attributes |
fr.cnes.sirius.patrius.propagation.analytical.covariance.OrbitCovariance | immutable | |
fr.cnes.sirius.patrius.propagation.analytical.twod.Analytical2DOrbitModel | conditionally thread-safe | thread safe if the underlying Analytical2DParameterModel andAbsoluteDate objects are thread safe |
fr.cnes.sirius.patrius.propagation.analytical.twod.Analytical2DParameterModel | immutable | |
fr.cnes.sirius.patrius.propagation.analytical.twod.Analytical2DPropagator | not thread-safe | extends the AbstractPropagator class |
fr.cnes.sirius.patrius.propagation.analytical.twod.DateIntervalLinearFunction | thread-safe | |
fr.cnes.sirius.patrius.propagation.analytical.twod.DateIntervalParabolicFunction | thread-safe | |
fr.cnes.sirius.patrius.propagation.analytical.twod.DatePolynomialFunction | thread-safe | |
fr.cnes.sirius.patrius.propagation.events.AOLDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.AnomalyDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.BetaAngleDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.DistanceDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.ExtremaDistanceDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.ExtremaElevationDetector | not thread-safe | the link to the tree of frames makes this class not thread-safe |
fr.cnes.sirius.patrius.propagation.events.ExtremaLatitudeDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.ExtremaLongitudeDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.ExtremaThreeBodiesAngleDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.LatitudeDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.LocalTimeDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.LongitudeDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.NadirSolarIncidenceDetector | thread-hostile | the earth celestial body is thread hostile itself. |
fr.cnes.sirius.patrius.propagation.events.NthOccurrenceDetector | not thread-safe | use of internal mutable attributes |
fr.cnes.sirius.patrius.propagation.events.SolarTimeDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.events.ThreeBodiesAngleDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.precomputed.HermiteEphemeris | not thread-safe | internal mutable attributes |
fr.cnes.sirius.patrius.propagation.precomputed.LagrangeEphemeris | not thread-safe | instances are mutable |
fr.cnes.sirius.patrius.time.LocalTime | not thread-safe | |
fr.cnes.sirius.patrius.utils.AbsoluteDateIntervalsList | not thread-safe | thread safety is not required for this class. And, TreeSet is not thread-safe. |
fr.cnes.sirius.patrius.utils.EphemerisPvHermite | not thread-safe | internal mutable attributes |
fr.cnes.sirius.patrius.utils.EphemerisPvLagrange | not thread-safe | internal mutable attributes |
fr.cnes.sirius.patrius.utils.ReferencePointsDisplacement | conditionally thread-safe | is thread-safe if the celestial body is too. |
Class (total number : 162) | Concurrency | Comment |
---|---|---|
fr.cnes.sirius.patrius.utils.UtilsPatrius | immutable | |
fr.cnes.sirius.patrius.assembly.Assembly | not thread-safe | The use of a frame linked to the tree of frames in each of the parts makes this class not thread-safe. |
fr.cnes.sirius.patrius.assembly.AssemblyBuilder | not thread-safe | The assembly is not thread-safe itself |
fr.cnes.sirius.patrius.assembly.MainPart | not thread-safe | The use of a frame linked to the tree of frames makes this class not thread-safe. |
fr.cnes.sirius.patrius.assembly.Part | not thread-safe | The use of a frame linked to the tree of frames makes this class not thread-safe. |
fr.cnes.sirius.patrius.assembly.models.AeroModel | not thread-safe | The use of a frame (Assembly attribute) linked to the tree of frames in each of the parts makes this class not thread-safe. |
fr.cnes.sirius.patrius.assembly.models.AeroWrenchModel | not thread-safe | class uses internal mutable attributes and frames |
fr.cnes.sirius.patrius.assembly.models.DirectRadiativeModel | not thread-safe | The use of a frame (Assembly attribute) linked to the tree of frames in each of the parts makes this class not thread-safe. |
fr.cnes.sirius.patrius.assembly.models.DirectRadiativeWrenchModel | not thread-safe | class uses internal mutable attributes and frames |
fr.cnes.sirius.patrius.assembly.models.DragLiftModel | not thread-safe | The use of a frame (Assembly attribute) linked to the tree of frames in each of the parts makes this class not thread-safe. |
fr.cnes.sirius.patrius.assembly.models.InertiaComputedModel | not thread-safe | the direct use of a not thread-safe Assembly makes this class not thread-safe itself |
fr.cnes.sirius.patrius.assembly.models.InertiaSimpleModel | not thread-safe | the frame and setters makes this class not thread-safe |
fr.cnes.sirius.patrius.assembly.models.MagneticMoment | conditionally thread-safe | thread-safe if the underlying frame is thread-safe |
fr.cnes.sirius.patrius.assembly.models.MassModel | not thread-safe | uses internal mutable attributes |
fr.cnes.sirius.patrius.assembly.models.RFLinkBudgetModel | immutable | |
fr.cnes.sirius.patrius.assembly.models.RediffusedRadiativeModel | not thread-safe | The use of a frame (Assembly attribute) linked to the treeof frames in each of the parts makes this class not thread-safe. |
fr.cnes.sirius.patrius.assembly.models.SensorModel | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.assembly.properties.AeroApplicationPoint | immutable | |
fr.cnes.sirius.patrius.assembly.properties.AeroFacetProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.AeroGlobalProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.AeroSphereProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.CrossSectionProviderProperty | conditionally thread-safe | the CrossSectionProvider object must be immutable. In this case, thisclass is immutable itself and thus, is not subject to thread safety tests. |
fr.cnes.sirius.patrius.assembly.properties.GeometricProperty | conditionally thread-safe | the SolidShape object must be immutable. In this case, thisclass is immutable itself and thus, is not subject to thread safety tests. |
fr.cnes.sirius.patrius.assembly.properties.InertiaCylinderProperty | not thread-safe | the use of frames makes this class not thread-safe |
fr.cnes.sirius.patrius.assembly.properties.InertiaParallelepipedProperty | not thread-safe | the use of frames makes this class not thread-safe |
fr.cnes.sirius.patrius.assembly.properties.InertiaSimpleProperty | not thread-safe | the use of frames makes this class not thread-safe |
fr.cnes.sirius.patrius.assembly.properties.InertiaSphereProperty | not thread-safe | the use of frames makes this class not thread-safe |
fr.cnes.sirius.patrius.assembly.properties.MassEquation | not thread-safe | internal mutable attributes |
fr.cnes.sirius.patrius.assembly.properties.MassProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.RFAntennaProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.RadiativeApplicationPoint | immutable | |
fr.cnes.sirius.patrius.assembly.properties.RadiativeFacetProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.RadiativeIRProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.RadiativeProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.RadiativeSphereProperty | immutable | |
fr.cnes.sirius.patrius.assembly.properties.SensorProperty | not thread-safe | |
fr.cnes.sirius.patrius.assembly.properties.features.Facet | immutable | |
fr.cnes.sirius.patrius.bodies.BasicBoardSun | immutable | |
fr.cnes.sirius.patrius.events.CentralBodyMaskCircularFOVDetector | not thread-safe | one attribute not thread-safe and one conditionally thread-safe |
fr.cnes.sirius.patrius.events.CodedEvent | immutable | |
fr.cnes.sirius.patrius.events.CodedEventsList | not thread-safe | no thread-sharing use case was identified for this class, so thread safety is not required. Though, some precautions are taken, as an example, the method getList() returns a copy of the list and not directly the attribute list itself. |
fr.cnes.sirius.patrius.events.CodedEventsLogger | not thread-safe | no thread-sharing use case was identified for this class, so thread safety is not required. |
fr.cnes.sirius.patrius.events.CombinedPhenomenaDetector | not thread-safe or thread-hostile | As of now, existing EventDetector implementations are either not thread-safe or thread-hostile, so this class also is. But this class could probably become conditionally thread-safe, the main thread safety condition would then be that the included EventDetector should be thread-safe. |
fr.cnes.sirius.patrius.events.EarthZoneDetector | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.events.GenericCodingEventDetector | not thread-safe or thread-hostile | As of now, existing EventDetector implementations are either not thread-safe or thread-hostile, so this class also is. But this class could probably become conditionally thread-safe, the main thread safety condition would then be that the included EventDetector should be thread-safe. |
fr.cnes.sirius.patrius.events.PhenomenaList | not thread-safe | no thread-sharing use case was identified for this class, so thread safety is not required. Though, some precautions are taken, as an example, the method getList() returns a copy of the list and not directly the attribute list itself. |
fr.cnes.sirius.patrius.events.Phenomenon | immutable | |
fr.cnes.sirius.patrius.events.multi.MultiCodedEventsLogger | not thread-safe | no thread-sharing use case was identified for this class, so thread safety is not required. |
fr.cnes.sirius.patrius.events.multi.MultiEventsLogger | not thread-safe | |
fr.cnes.sirius.patrius.events.multi.MultiGenericCodingEventDetector | not thread-safe or thread-hostile | As of now, existing MultiEventDetector implementations are either not thread-safe or thread-hostile, so this class also is. But this class could probably become conditionally thread-safe, the main thread safety condition would then be that the included MultiEventDetector should be thread-safe. |
fr.cnes.sirius.patrius.events.postprocessing.AndCriterion | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.DelayCriterion | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.ElementTypeFilter | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.EventsDuringPhenomenaFilter | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.MergePhenomenaCriterion | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.MergeTimelines | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.OccurrenceFilter | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.OrCriterion | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.PhenomenonDurationFilter | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.PolarizationSingleSelection | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.PolarizationSwitch | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.TimeFilter | immutable | |
fr.cnes.sirius.patrius.events.postprocessing.Timeline | not thread-safe | the timeline is not thread safe due to the methods removeCodedEvent(CodedEvent) and removePhenomenon(Phenomenon) |
fr.cnes.sirius.patrius.events.sensor.ExtremaSightAxisDetector | not thread-safe | attributes are mutable and related to propagation, and the direct use of a not thread-safe Assembly makes this class not thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.MaskingDetector | not thread-safe | The use of a not thread-safe SensorModel makes this class not thread-safe. |
fr.cnes.sirius.patrius.events.sensor.RFVisibilityDetector | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.SatToSatMutualVisibilityDetector | not thread-safe | the direct use of a not thread-safe Assembly makes this class not thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.SecondarySpacecraft | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.SensorInhibitionDetector | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.SensorVisibilityDetector | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.StationToSatMutualVisibilityDetector | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.TargetInFieldOfViewDetector | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.events.sensor.VisibilityFromStationDetector | not thread-safe | the direct use of a not thread-safe Assembly makes this classnot thread-safe itself |
fr.cnes.sirius.patrius.fieldsofview.AzimuthElevationField | immutable | |
fr.cnes.sirius.patrius.fieldsofview.BooleanField | conditionally thread-safe | the used fields must be thread-safe themselves.All available fields are immutable. |
fr.cnes.sirius.patrius.fieldsofview.CircularField | immutable | |
fr.cnes.sirius.patrius.fieldsofview.EllipticField | immutable | |
fr.cnes.sirius.patrius.fieldsofview.FieldAngularFace | immutable | |
fr.cnes.sirius.patrius.fieldsofview.InvertField | conditionally thread-safe | the used field must be thread-safe itself.All available fields are immutable. |
fr.cnes.sirius.patrius.fieldsofview.OmnidirectionalField | immutable | |
fr.cnes.sirius.patrius.fieldsofview.PyramidalField | immutable | |
fr.cnes.sirius.patrius.fieldsofview.RectangleField | immutable | |
fr.cnes.sirius.patrius.fieldsofview.SectorField | immutable | |
fr.cnes.sirius.patrius.forces.EmpiricalForce | not thread-safe | attributes are mutable |
fr.cnes.sirius.patrius.forces.maneuvers.ManeuversSequence | not thread-safe | The instances are mutable. |
fr.cnes.sirius.patrius.forces.radiation.SolarRadiationPressureEllipsoidCircular | not thread-safe | fields use Frames |
fr.cnes.sirius.patrius.groundstation.GeometricStationAntenna | not thread-safe | link to the tree of frames |
fr.cnes.sirius.patrius.groundstation.RFStationAntenna | not thread-safe | link to the tree of frames |
fr.cnes.sirius.patrius.guidance.AngularVelocitiesHarmonicProfile | conditionally thread-safe | thread-safe if the Frame attribute is thread-safe. |
fr.cnes.sirius.patrius.guidance.AngularVelocitiesPolynomialProfile | conditionally thread-safe | thread-safe if the attributes are thread-safe |
fr.cnes.sirius.patrius.guidance.GuidanceProfileBuilder | immutable | |
fr.cnes.sirius.patrius.guidance.QuaternionHarmonicProfile | conditionally thread-safe | thread-safe if the Frame attribute is thread-safe. |
fr.cnes.sirius.patrius.guidance.QuaternionPolynomialProfile | conditionally thread-safe | thread-safe if the attributes are thread-safe |
fr.cnes.sirius.patrius.guidance.QuaternionPolynomialSegment | conditionally thread-safe | thread-safe if the UnivariateFunction attributes are thread-safe |
fr.cnes.sirius.patrius.guidance.Vector3DPolynomialSegment | conditionally thread-safe | thread-safe if the UnivariateFunction attributes are thread-safe |
fr.cnes.sirius.patrius.propagation.PVCoordinatePropagator | not thread-safe | extends the AbstractPropagator class |
fr.cnes.sirius.patrius.propagation.SimpleAdditionalStateProvider | immutable | |
fr.cnes.sirius.patrius.propagation.events.multi.AdaptedMonoEventDetector | conditionally thread-safe | Conditionally thread-safe if all attributes are thread-safe |
fr.cnes.sirius.patrius.propagation.events.multi.AdaptedMultiEventDetector | conditionally thread-safe | Conditionally thread-safe if all attributes are thread-safe |
fr.cnes.sirius.patrius.propagation.events.multi.OneSatEventDetectorWrapper | not thread-safe | |
fr.cnes.sirius.patrius.propagation.numerical.multi.MultiEphemerisModeHandler | not thread-safe | |
fr.cnes.sirius.patrius.propagation.numerical.multi.MultiNumericalPropagator | not thread-safe | attributes are mutable and related to propagation. |
fr.cnes.sirius.patrius.propagation.numerical.multi.MultiStateVectorInfo | immutable | |
fr.cnes.sirius.patrius.propagation.precomputed.multi.MultiIntegratedEphemeris | immutable | |
fr.cnes.sirius.patrius.propagation.sampling.multi.MultiAdaptedStepHandler | not thread-safe | |
fr.cnes.sirius.patrius.propagation.sampling.multi.MultiPatriusStepNormalizer | not thread-safe | |
fr.cnes.sirius.patrius.signalpropagation.AzoulayModel | immutable | |
fr.cnes.sirius.patrius.signalpropagation.SignalPropagation | not thread-safe | use of the frames tree |
fr.cnes.sirius.patrius.signalpropagation.SignalPropagationModel | not thread-safe | use of the frames tree |
fr.cnes.sirius.patrius.signalpropagation.iono.BentModel | thread-safe | with the use of a synchronized tag |
fr.cnes.sirius.patrius.signalpropagation.iono.R12Loader | conditionally thread-safe | the instance is mutable, but no longer changes after the first call to getR12() (the first call triggers the DataProvidersManager on the instance). This means : an instance can be shared and used in several threads, if getR12() is called once in a single thread context first. |
fr.cnes.sirius.patrius.signalpropagation.iono.USKData | immutable | |
fr.cnes.sirius.patrius.signalpropagation.iono.USKLoader | conditionally thread-safe | the instance is mutable, but no longer changes after the first call to getData() (the first call triggers the DataProvidersManager on the instance). This means : an instance can be shared and used in several threads, if getData() is called once in a single thread context first. |
fr.cnes.sirius.patrius.stela.JavaMathAdapter | unconditionally thread-safe | |
fr.cnes.sirius.patrius.stela.PerigeeAltitudeDetector | conditionally thread-safe | the OrbitNatureConverter attribute needs to be thread-safe |
fr.cnes.sirius.patrius.stela.StelaSpacecraftFactory | unconditionally thread-safe | access to the only static field is synchronized |
fr.cnes.sirius.patrius.stela.bodies.EarthRotation | immutable | |
fr.cnes.sirius.patrius.stela.bodies.GeodPosition | immutable | |
fr.cnes.sirius.patrius.stela.bodies.MeeusMoonStela | immutable | |
fr.cnes.sirius.patrius.stela.bodies.MeeusSunStela | immutable | |
fr.cnes.sirius.patrius.stela.forces.Squaring | immutable | |
fr.cnes.sirius.patrius.stela.forces.StelaLagrangeEquations | not thread-safe | not thread-safe because two threads can simultaneously modify global attributes of the class |
fr.cnes.sirius.patrius.stela.forces.atmospheres.MSIS00Adapter | thread-hostile | The direct use of thread hostile objects makes this class thread hostile itself. |
fr.cnes.sirius.patrius.stela.forces.drag.StelaAeroModel | immutable | |
fr.cnes.sirius.patrius.stela.forces.drag.StelaAtmosphericDrag | not thread-safe | not thread-safe due to use of mutable attributes |
fr.cnes.sirius.patrius.stela.forces.drag.StelaCd | immutable | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaTesseralAttraction | not thread-safe | not thread-safe due to use of mutable attributes |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaThirdBodyAttraction | not thread-safe | not thread-safe because two threads can simultaneously modify attributes of the class |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttraction | conditionally thread-safe | thread safe if the PotentialCoefficientsProvider used is thread safe |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ10 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ11 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ12 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ13 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ14 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ15 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ8 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.StelaZonalAttractionJ9 | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.gravity.TesseralQuad | not thread-safe | use of internal mutable attributes |
fr.cnes.sirius.patrius.stela.forces.noninertial.NonInertialContribution | thread-safe | |
fr.cnes.sirius.patrius.stela.forces.radiation.SRPPotential | conditionally thread-safe | thread safe if the CelestialBody used is thread safe |
fr.cnes.sirius.patrius.stela.forces.radiation.SRPSquaring | conditionally thread-safe | thread-safe if the given sun is thread-safe |
fr.cnes.sirius.patrius.stela.forces.radiation.StelaSRPSquaring | conditionally thread-safe | thread-safe if the SRPSquaring and SRPPotential models are thread-safe. |
fr.cnes.sirius.patrius.stela.orbits.JacobianConverter | unconditionally thread-safe | |
fr.cnes.sirius.patrius.stela.orbits.OrbitNatureConverter | not thread-safe | instances are mutable |
fr.cnes.sirius.patrius.stela.orbits.StelaEquinoctialOrbit | immutable | |
fr.cnes.sirius.patrius.stela.propagation.ForcesStepHandler | not thread-safe | |
fr.cnes.sirius.patrius.stela.propagation.StelaBasicInterpolator | not thread-safe | |
fr.cnes.sirius.patrius.stela.propagation.StelaDifferentialEquations | not thread-safe | not thread-safe due to use of mutable attributes |
fr.cnes.sirius.patrius.stela.propagation.StelaGTOPropagator | not thread-safe | use of mutable attributes |
fr.cnes.sirius.patrius.stela.propagation.StelaPartialDerivativesEquations | not thread-safe | use of mutable attributes |
fr.cnes.sirius.patrius.stela.propagation.data.TimeDerivativeData | not thread-safe | |
fr.cnes.sirius.patrius.orbits.pvcoordinates.AlmanacPVCoordinates | immutable | |
fr.cnes.sirius.patrius.math.interval.AngleInterval | immutable | |
fr.cnes.sirius.patrius.math.interval.AngleTools | unconditionally thread-safe | |
fr.cnes.sirius.patrius.math.Comparators | unconditionally thread-safe | |
fr.cnes.sirius.patrius.utils.GPSGalileoAlmanacParameter | immutable | |
fr.cnes.sirius.patrius.math.interval.GenericInterval | immutable | |
fr.cnes.sirius.patrius.wrenches.DragWrench | not thread-safe | class uses internal mutable attributes and frames |
fr.cnes.sirius.patrius.wrenches.GenericWrenchModel | not thread-safe | uses frames |
fr.cnes.sirius.patrius.wrenches.GravitationalAttractionWrench | conditionally thread-safe | thread-safe if the inertia model is thread-safe |
fr.cnes.sirius.patrius.wrenches.MagneticWrench | conditionally thread-safe | thread-safe if the underlying geo magnetic field is also thread-safe |
fr.cnes.sirius.patrius.wrenches.SolarRadiationWrench | not thread-safe | class uses internal mutable attributes and frames |
Patrius-tools thread safety
Here is a list of all patrius-tools classes and thread-safety:
Class (total number : 23) | Concurrency | Comment |
---|---|---|
fr.cnes.sirius.patrius.tools.ephemerisComparator.ComparisonData | not thread-safe | this class is not thread safe due to setThresholds(ArrayList) |
fr.cnes.sirius.patrius.tools.ephemerisComparator.Data | not thread-safe | matches the concurrency of the parameter type : using an immutable type is HIGHLY recommended |
fr.cnes.sirius.patrius.tools.ephemerisComparator.DateDPFacade | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.DeviationProviderFactory | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.DoubleDPFacade | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.EphemerisComparator | not thread-safe | it uses non thread-safe objects |
fr.cnes.sirius.patrius.tools.ephemerisComparator.EphemerisComparatorMain | not thread-safe | it uses non thread-safe objects |
fr.cnes.sirius.patrius.tools.ephemerisComparator.MeaningfulData | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.MeaningfulDataComparator | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.PSimuDataLoader | not thread-safe | the file could be tampered with while reading it |
fr.cnes.sirius.patrius.tools.ephemerisComparator.PVCoordinatesDPFacade | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.QuaternionDPFacade | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.RawDataComparator | not thread-safe | this class is not thread safe due to the attribute 'relative' which can change |
fr.cnes.sirius.patrius.tools.ephemerisComparator.Report | thread-safe | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.RotationDPFacade | immutable | |
fr.cnes.sirius.patrius.tools.ephemerisComparator.Setup | not thread-safe | this class is not thread safe due to the fact that some attributes are not private |
fr.cnes.sirius.patrius.tools.ephemerisComparator.ThresholdsData | not thread-safe | this class is not thread safe due to getFirstRefusedLines() |
fr.cnes.sirius.patrius.tools.ephemerisComparator.VectorDPFacade | immutable | |
fr.cnes.sirius.patrius.tools.exception.EphemerisComparatorException | not thread-safe | extends Exception |
fr.cnes.sirius.patrius.tools.exception.EphemerisComparatorRuntimeException | not thread-safe | extends Exception |
fr.cnes.sirius.patrius.tools.force.validation.BasicPVCoordinatesProvider | not thread-safe | |
fr.cnes.sirius.patrius.tools.force.validation.PVEphemerisLoader | not thread safe | |
fr.cnes.sirius.patrius.tools.force.validation.Report | not thread safe |
Class | Concurrency | Comment |
---|---|---|
fr.cnes.sirius.patrius.math.analysis.integration.TrapezoidIntegrator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.analysis.integration.SimpsonIntegrator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.analysis.interpolation.BicubicSplineInterpolatingFunction | not thread-safe | Instances are mutable (unprotected lazy initialization). |
fr.cnes.sirius.patrius.math.analysis.interpolation.BicubicSplineInterpolator | unconditionally thread-safe | Would be immutable if the class were final. |
fr.cnes.sirius.patrius.math.analysis.interpolation.TricubicSplineInterpolatingFunction | unconditionally thread-safe | Would be immutable if the class were final. |
fr.cnes.sirius.patrius.math.analysis.interpolation.TricubicSplineInterpolator | unconditionally thread-safe | Would be immutable if the class were final. |
fr.cnes.sirius.patrius.math.analysis.polynomials.PolynomialFunction | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.math.analysis.polynomials.PolynomialFunctionLagrangeForm | not thread-safe | Instances are mutable (unprotected lazy initialization). |
fr.cnes.sirius.patrius.math.analysis.polynomials.PolynomialFunctionNewtonForm | not thread-safe | Instances are mutable (unprotected lazy initialization). |
fr.cnes.sirius.patrius.math.analysis.polynomials.HelmholtzPolynomial | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.analysis.solvers.BrentSolver | not thread-safe | Instances are mutable (inner Incrementor instance). |
fr.cnes.sirius.patrius.math.analysis.solvers.NewtonSolver | not thread-safe | Instances are mutable (inner Incrementor instance). |
fr.cnes.sirius.patrius.math.analysis.solvers.BisectionSolver | not thread-safe | Instances are mutable (inner Incrementor instance). |
fr.cnes.sirius.patrius.math.analysis.solvers.MullerSolver | not thread-safe | Instances are mutable (inner Incrementor instance). |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Plane | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Rotation | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.RotationOrder | immutable | |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Vector3D | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.math.geometry.euclidean.threed.Screw | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.math.linear.Array2DRowRealMatrix | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.linear.ArrayRealVector | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.linear.CholeskyDecompositionImpl | not thread-safe | Exposed mutable attributes (getters on RealMtrix). |
fr.cnes.sirius.patrius.math.linear.LUDecompositionImpl | not thread-safe | Exposed mutable attributes (getters on RealMtrix). |
fr.cnes.sirius.patrius.math.linear.QRDecompositionImpl | not thread-safe | Exposed mutable attributes (getters on RealMtrix). |
fr.cnes.sirius.patrius.math.ode.events.EventHandler | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.ode.events.EventException | unconditionally thread-safe | Would be immutable if the class were final. |
fr.cnes.sirius.patrius.math.ode.nonstiff.ClassicalRungeKuttaIntegrator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.ode.nonstiff.DormandPrince54Integrator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.ode.nonstiff.DormandPrince853Integrator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.ode.nonstiff.GraggBulirschStoerIntegrator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.random.JDKRandomGenerator | thread-safe | Extends a class from the Java API whose thread-safety status is undocumented, but probably thread-safe. |
fr.cnes.sirius.patrius.math.stat.StatUtils | immutable | Final utility class with reentrant static methods only. |
fr.cnes.sirius.patrius.math.stat.descriptive.rank.Median | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.stat.descriptive.rank.Percentile | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.math.util.FastMath | immutable | Final utility class with reentrant static methods only. |
fr.cnes.sirius.patrius.math.util.MathUtils | immutable | Final utility class with reentrant static methods only. |
- when these are documented as "immutable" in their javadoc, it is stated so.
- the remainder was evaluated by the PATRIUS team.
The list of all validated classes is also available in the SVS.
NOTE : thread hostility has not been systematically researched, so it is not fully documented in this revision.
Class | Concurrency | Comment |
---|---|---|
fr.cnes.sirius.patrius.attitudes.Attitude | conditionally thread-safe | Exposed mutable attribute (getter on Frame), Attitude is thread-safe when the Frame is. |
fr.cnes.sirius.patrius.attitudes.AttitudesSequence | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.attitudes.BodyCenterPointing | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.CelestialBodyPointed | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.BodyCenterGroundPointing.java | immutable | |
fr.cnes.sirius.patrius.attitudes.FixedRate | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.InertialProvider | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.LofOffset | conditionally thread-safe | Is thread-safe when the Frame attribute is. |
fr.cnes.sirius.patrius.attitudes.NadirPointing | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.SpinStabilized | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.TargetGroundPointing.java | immutable | |
fr.cnes.sirius.patrius.attitudes.TargetPointing | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.YawCompensation | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.YawSteering | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.attitudes.kinematics.KinematicsToolkit | immutable | |
fr.cnes.sirius.patrius.attitudes.kinematics.AbstractOrientationFunction | conditionally thread-safe | Thread-safe if the attribute differentiator is thread-safe and if the implementation of this abstract class is thread-safe too. |
fr.cnes.sirius.patrius.attitudes.kinematics.AbstractVector3DFunction | conditionally thread-safe | Thread-safe if the attributes differentiator and integrator are thread-safe and if the implementation of this abstract class is thread-safe too. |
fr.cnes.sirius.patrius.attitudes.kinematics.DynamicsElements | immutable | |
fr.cnes.sirius.patrius.bodies.GeodeticPoint | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.bodies.JPLEphemeridesLoader | conditionally thread-safe | Unprotected mutable fields are modified by the loadData() method. If this method call is protected, the instance is thread-safe. |
fr.cnes.sirius.patrius.bodies.OneAxisEllipsoid | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.data.ClasspathCrawler | conditionally thread-safe | The feed() method modifies a mutable reference (DataLoader) that may not be thread-safe. If the call to feed() is protected and the DataLoader is not thread-hostile, OR if the DataLoader is thread-safe, then the instance is thread-safe. |
fr.cnes.sirius.patrius.data.DataProvidersManager | thread-hostile | Contains an unprotected singleton. |
fr.cnes.sirius.patrius.data.DirectoryCrawler | conditionally thread-safe | The feed() method modifies a mutable reference (DataLoader) that may not be thread-safe. If the call to feed() is protected and the DataLoader is not thread-hostile, OR if the DataLoader is thread-safe, then the instance is thread-safe. |
fr.cnes.sirius.patrius.data.NetworkCrawler | conditionally thread-safe | The feed() method modifies a mutable reference (DataLoader) that may not be thread-safe. If the call to feed() is protected and the DataLoader is not thread-hostile, OR if the DataLoader is thread-safe, then the instance is thread-safe. |
fr.cnes.sirius.patrius.data.PoissonSeries | unconditionally thread-safe | Technically non-immutable, but immutable "in practice". |
fr.cnes.sirius.patrius.data.ZipJarCrawler | conditionally thread-safe | The feed() method modifies a mutable reference (DataLoader) that may not be thread-safe. If the call to feed() is protected and the DataLoader is not thread-hostile, OR if the DataLoader is thread-safe, then the instance is thread-safe. |
fr.cnes.sirius.patrius.utils.exception.PatriusException | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.utils.exception.PropagationException | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.forces.ConstantFunction | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.IJacobiansParameterizable | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.IParamDiffFunction | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.IParameterizableFunction | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.LinearFunction | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.Parameter | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.Parameterizable | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.PiecewiseFunction | not thread-safe | uses internal mutable attributes. |
fr.cnes.sirius.patrius.forces.BoxAndSolarArraySpacecraft | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.forces.drag.DTM2000 | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.forces.drag.DragForce | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.forces.gravity.BalminoAttractionModel.java | not thread-safe | uses internal mutable attributes |
fr.cnes.sirius.patrius.forces.gravity.potential.EGMFormatReader | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.gravity.potential.GravityFieldFactory | unconditionally thread-safe | Access to mutable fields are synchronized. |
fr.cnes.sirius.patrius.forces.gravity.potential.GRGSFormatReader | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.gravity.potential.ICGEMFormatReader | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.gravity.potential.SHMFormatReader | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.gravity.CunninghamAttractionModel | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.gravity.DrozinerAttractionModel | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.gravity.GravityToolbox.java | immutable | |
fr.cnes.sirius.patrius.forces.gravity.NewtonianAttraction | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.gravity.ThirdBodyAttraction | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.maneuvers.ConstantThrustManeuver | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.forces.radiation.SolarRadiationPressureCircular | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.frames.Frame | not thread-safe | Unprotected mutable attribute- but thread-safety problems relative to this attribute have yet to be found, so Frame is "almost" thread-safe. |
fr.cnes.sirius.patrius.frames.FramesFactory | unconditionally thres-safe | Access to mutable fields are synchronized. NOTE : The IERS frames provided by this class are thread-safe, these are provided by the getGCRF(), getCIRF(), getTIRF() and getITRF() methods. |
fr.cnes.sirius.patrius.frames.LocalOrbitalFrame | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.frames.OrphanFrame | unconditionally thread-safe | No attributes, static methods only. |
fr.cnes.sirius.patrius.frames.TopocentricFrame | not thread-safe | Is a Frame. |
fr.cnes.sirius.patrius.frames.configuration.DiurnalRotation | conditionally thread-safe | thread-safe if constructor parameters are thread safe |
fr.cnes.sirius.patrius.frames.configuration.FramesConfigurationFactory | thread-safe | only static methods |
fr.cnes.sirius.patrius.frames.configuration.FramesConfigurationImplementation | conditionally thread-safe | thread-safe if constructor parameters are thread safe |
fr.cnes.sirius.patrius.frames.configuration.PolarMotion | conditionally thread-safe | thread-safe if constructor parameters are thread safe |
fr.cnes.sirius.patrius.frames.configuration.eop.AbstractEOPHistory | conditionally thread-safe | Uses the time stamped cache mechanism. Thread-safe as long as the mechanisms that add entries to the lists do so in a thread-safe manner (see EOPHistoryFactory). |
fr.cnes.sirius.patrius.frames.configuration.eop.BulletinBFilesLoader | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOP05C04FilesLoader | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOP08C04FilesLoader | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOP1980Entry | immutable | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOP1980History.java | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOP2000Entry | immutable | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOP2000History | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOPEntry | immutable | |
fr.cnes.sirius.patrius.frames.configuration.eop.EOPHistoryFactory | unconditionally thread-safe | getters use synchronized keyword were access to loader lists is performed |
fr.cnes.sirius.patrius.frames.configuration.eop.NoEOP2000History | immutable | |
fr.cnes.sirius.patrius.frames.configuration.eop.NutationCorrection | immutable | |
fr.cnes.sirius.patrius.frames.configuration.eop.PoleCorrection | immutable | |
fr.cnes.sirius.patrius.frames.configuration.eop.RapidDataAndPredictionColumnsLoader | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.eop.RapidDataAndPredictionXMLLoader | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.libration.LibrationCorrectionModelFactory | immutable | only static final fields |
fr.cnes.sirius.patrius.frames.configuration.libration.IERS2010LibrationCorrection | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.libration.NoLibrationCorrection | immutable | |
fr.cnes.sirius.patrius.frames.configuration.precessionnutation.CIPCoordinates | immutable | |
fr.cnes.sirius.patrius.frames.configuration.precessionnutation.CIPCoordinatesGenerator | conditionally thread-safe | As long as a generator is referenced by one {@link TimeStampedCache cache} only, it is guaranteed to be called in a thread-safe way, even if the cache is used in a multi-threaded environment. |
fr.cnes.sirius.patrius.frames.configuration.precessionnutation.IERS20032010PrecessionNutation | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.precessionnutation.PrecessionNutationCache | conditionally thread-safe | thread safe if precession nutation model is thread-safe |
fr.cnes.sirius.patrius.frames.configuration.precessionnutation.PrecessionNutationModelFactory | immutable | only static final fields |
fr.cnes.sirius.patrius.frames.configuration.sp.IERS2010SPCorrection | immutable | |
fr.cnes.sirius.patrius.frames.configuration.sp.NoSpCorrection | immutable | |
fr.cnes.sirius.patrius.frames.configuration.sp.SPrimeModelFactory | immutable | |
fr.cnes.sirius.patrius.frames.configuration.tides.TidelCorrectionCache | conditionally thread-safe | thread safe if tides model is thread-safe |
fr.cnes.sirius.patrius.frames.configuration.tides.TidalCorrection | immutable | |
fr.cnes.sirius.patrius.frames.configuration.tides.TidalCorrectionGenerator | conditionally thread-safe | As long as a generator is referenced by one {@link TimeStampedCache cache} only, it is guaranteed to be called in a thread-safe way, even if the cache is used in a multi-threaded environment. |
fr.cnes.sirius.patrius.frames.configuration.tides.IERS2000TidalCorrection | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.tides.IERS2010TidalCorrection | unconditionally thread-safe | |
fr.cnes.sirius.patrius.frames.configuration.tides.NoTidalCorrection | immutable | |
fr.cnes.sirius.patrius.frames.configuration.tides.TidalCorrectionModelFactory | immutable | |
fr.cnes.sirius.patrius.frames.transformations.HelmertTransformation | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.frames.transformations.Transform | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.models.earth.COFFileFormatReader.java | not thread-safe | instance is mutable |
fr.cnes.sirius.patrius.models.earth.FixedDelayModel.java | not thread-safe | instance is mutable |
fr.cnes.sirius.patrius.models.earth.GeoMagneticModelReader.java | not thread-safe | instance is mutable |
fr.cnes.sirius.patrius.models.earth.GeoMagneticElements | unconditionally thread-safe | Would be immutable if the class were final |
fr.cnes.sirius.patrius.models.earth.GeoMagneticField | not thread-safe | Instance are mutable |
fr.cnes.sirius.patrius.models.earth.GeoMagneticFieldFactory | unconditionally thread-safe | Access to mutable fields are synchronized. |
fr.cnes.sirius.patrius.models.earth.ModelLoader | not thread-safe | Mutable fields |
fr.cnes.sirius.patrius.orbits.CartesianOrbit | immutable | Modified by Patrius team. |
fr.cnes.sirius.patrius.orbits.CircularOrbit | immutable | Modified by Patrius team. |
fr.cnes.sirius.patrius.orbits.EquinoctialOrbit | immutable | Modified by Patrius team. |
fr.cnes.sirius.patrius.orbits.KeplerianOrbit | immutable | Modified by Patrius team. |
fr.cnes.sirius.patrius.orbits.ApsisOrbit | immutable | Created by Patrius team. |
fr.cnes.sirius.patrius.orbits.EquatorialOrbit | immutable | Created by Patrius team. |
fr.cnes.sirius.patrius.propagation.analytical.EcksteinHechlerPropagator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.propagation.analytical.KeplerianPropagator | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.propagation.events.AdaptedAdditionalStatesEventDetector | conditionally thread-safe | if all attributes are thread safe. |
fr.cnes.sirius.patrius.propagation.events.AdaptedEventDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.AdditionalStatesEventsLogger | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.AlignmentDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.AltitudeDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.ApsideDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.CircularFieldOfViewDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.DateDetector | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.propagation.events.DihedralFieldOfViewDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.EclipseDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.ElevationDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.EventShifter | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.EventsLogger | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.EventState | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.GroundMaskElevationDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.events.NodeDetector | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.propagation.numerical.AdditionalStateInfo | Immutable | |
fr.cnes.sirius.patrius.propagation.numerical.JacobiansMapper | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.propagation.numerical.NumericalPropagator | not thread-safe | As documented. |
fr.cnes.sirius.patrius.propagation.events.PartialDerivativesEquations | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.propagation.precomputed.Ephemeris | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.propagation.precomputed.IntegratedEphemeris | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.propagation.sampling.AdaptedStepHandler | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.propagation.SpacecraftState | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.propagation.SimpleMassModel.java | not thread-safe | instance is mutable. WARNING : this class is wrongfully documented as immutable (javadoc)! It is mutable. |
fr.cnes.sirius.patrius.time.AbsoluteDate | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.time.DateComponents | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.time.DateTimeComponents | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.time.GalileoScale | unconditionally thread-safe | Would be immutable if the class were final. |
fr.cnes.sirius.patrius.time.GPSScale | thread-hostile | A deprecated method calls the thread-hostile TimeScalesFactory. When this method is removed, the class will become thread-safe. |
fr.cnes.sirius.patrius.time.TimeComponents | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.time.TimeScalesFactory | thread-hostile | Contains unprotected singletons. |
fr.cnes.sirius.patrius.time.TAIScale | thread-hostile | A deprecated method calls the thread-hostile TimeScalesFactory. When this method is removed, the class will become thread-safe. |
fr.cnes.sirius.patrius.time.TTScale | thread-hostile | A deprecated method calls the thread-hostile TimeScalesFactory. When this method is removed, the class will become thread-safe. |
fr.cnes.sirius.patrius.time.UTCScale | thread-hostile | A deprecated method calls the thread-hostile TimeScalesFactory. When this method is removed, the class will (likely) become thread-safe. |
fr.cnes.sirius.patrius.time.UTCTAIHistoryFilesLoader | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.time.UTCTAIOffset | not thread-safe | Instances are mutable. |
fr.cnes.sirius.patrius.time.UT1Scale | not thread-safe | Exposed mutable attributes. |
fr.cnes.sirius.patrius.utils.PVCoordinates | unconditionally thread-safe | Would be immutable if the class were final- documented as immutable, but technically untrue. |
fr.cnes.sirius.patrius.wrenches.Wrench.java | immutable |
Cette catégorie ne contient aucune page ou fichier multimédia.