Klasse Product


@Entity public class Product extends PersistentObject
Representation of a data product
Autor:
Dr. Thomas Bassler
  • Konstruktordetails

    • Product

      public Product()
  • Methodendetails

    • getUuid

      public UUID getUuid()
      Gets the universally unique product identifier
      Gibt zurück:
      the UUID
    • setUuid

      public void setUuid(UUID uuid)
      Sets the universally unique product identifier
      Parameter:
      uuid - the UUID to set
    • getProductClass

      public ProductClass getProductClass()
      Gets the product class
      Gibt zurück:
      the productClass
    • setProductClass

      public void setProductClass(ProductClass productClass)
      Sets the product class
      Parameter:
      productClass - the productClass to set
    • getFileClass

      public String getFileClass()
      Gets the product file class
      Gibt zurück:
      the file class
    • setFileClass

      public void setFileClass(String fileClass)
      Sets the product file class
      Parameter:
      fileClass - the file class to set
    • getMode

      public String getMode()
      Gets the processing mode
      Gibt zurück:
      the mode
    • setMode

      public void setMode(String mode)
      Sets the processing mode
      Parameter:
      mode - the mode to set
    • getProductQuality

      public ProductQuality getProductQuality()
      Gets the product quality indicator
      Gibt zurück:
      the product quality
    • setProductQuality

      public void setProductQuality(ProductQuality productQuality)
      Sets the product quality indicator
      Parameter:
      productQuality - the product quality to set
    • getRequestedStartTime

      public Instant getRequestedStartTime()
      Gets the requested start time
      Gibt zurück:
      the requested start time
    • setRequestedStartTime

      public void setRequestedStartTime(Instant requestedStartTime)
      Sets the requested start time
      Parameter:
      requestedStartTime - the requested start time to set
    • getRequestedStopTime

      public Instant getRequestedStopTime()
      Gets the requested stop time
      Gibt zurück:
      the requested stop time
    • setRequestedStopTime

      public void setRequestedStopTime(Instant requestedStopTime)
      Sets the requested stop time
      Parameter:
      requestedStopTime - the requested stop time to set
    • getSensingStartTime

      public Instant getSensingStartTime()
      Gets the sensing start time
      Gibt zurück:
      the sensing start time
    • setSensingStartTime

      public void setSensingStartTime(Instant sensingStartTime)
      Sets the sensing start time
      Parameter:
      sensingStartTime - the sensing start time to set
    • getSensingStopTime

      public Instant getSensingStopTime()
      Gets the sensing stop time
      Gibt zurück:
      the sensing stop time
    • setSensingStopTime

      public void setSensingStopTime(Instant sensingStopTime)
      Sets the sensing stop time
      Parameter:
      sensingStopTime - the sensing stop time to set
    • getRawDataAvailabilityTime

      public Instant getRawDataAvailabilityTime()
      Gets the time of the availability of the satellite raw data
      Gibt zurück:
      the raw data availability time
    • setRawDataAvailabilityTime

      public void setRawDataAvailabilityTime(Instant rawDataAvailabilityTime)
      Sets the time of the availability of the satellite raw data
      Parameter:
      rawDataAvailabilityTime - the raw data availability time to set
    • getGenerationTime

      public Instant getGenerationTime()
      Gets the product generation time
      Gibt zurück:
      the generationTime
    • setGenerationTime

      public void setGenerationTime(Instant generationTime)
      Sets the product generation time
      Parameter:
      generationTime - the generationTime to set
    • getPublicationTime

      public Instant getPublicationTime()
      Gets the product publication (= ingestion) time
      Gibt zurück:
      the publication time
    • setPublicationTime

      public void setPublicationTime(Instant publicationTime)
      Sets the product publication (= ingestion) time
      Parameter:
      publicationTime - the publication time to set
    • getEvictionTime

      public Instant getEvictionTime()
      Gets the product eviction time
      Gibt zurück:
      the eviction time
    • setEvictionTime

      public void setEvictionTime(Instant evictionTime)
      Sets the product eviction time
      Parameter:
      evictionTime - the eviction time to set
    • getDownloadHistory

      public Set<DownloadHistory> getDownloadHistory()
      Gets the product download history
      Gibt zurück:
      the download history
    • setDownloadHistory

      public void setDownloadHistory(Set<DownloadHistory> downloadHistory)
      Sets the product download history
      Parameter:
      downloadHistory - the download history to set
    • getProductionType

      public ProductionType getProductionType()
      Gets the production type of the product
      Gibt zurück:
      the production type
    • setProductionType

      public void setProductionType(ProductionType productionType)
      Sets the production type of the product
      Parameter:
      productionType - the production type to set
    • getComponentProducts

      public Set<Product> getComponentProducts()
      Gets the sub-products of this product
      Gibt zurück:
      the componentProducts
    • setComponentProducts

      public void setComponentProducts(Set<Product> componentProducts)
      Sets the sub-products of this product
      Parameter:
      componentProducts - the componentProducts to set
    • getEnclosingProduct

      public Product getEnclosingProduct()
      Gets the enclosing product of this product
      Gibt zurück:
      the enclosingProduct
    • setEnclosingProduct

      public void setEnclosingProduct(Product enclosingProduct)
      Sets the enclosing product of this product
      Parameter:
      enclosingProduct - the enclosingProduct to set
    • getOrbit

      public Orbit getOrbit()
      Gets the orbit for this product
      Gibt zurück:
      the orbit (or null, if this product is not associated to an orbit)
    • setOrbit

      public void setOrbit(Orbit orbit)
      Sets the orbit for this product
      Parameter:
      orbit - the orbit to set (may be null)
    • getProductFile

      public Set<ProductFile> getProductFile()
      Gets the set of product files (at most one per existing processing facility)
      Gibt zurück:
      the productFile
    • setProductFile

      public void setProductFile(Set<ProductFile> productFile)
      Sets the set of product files (at most one per existing processing facility)
      Parameter:
      productFile - the productFile to set
    • getSatisfiedProductQueries

      public Set<ProductQuery> getSatisfiedProductQueries()
      Gets the set of satisfied product queries
      Gibt zurück:
      the satisfiedProductQueries
    • setSatisfiedProductQueries

      public void setSatisfiedProductQueries(Set<ProductQuery> satisfiedProductQueries)
      Sets the set of satisfied product queries
      Parameter:
      satisfiedProductQueries - the satisfiedProductQueries to set
    • getJobStep

      public JobStep getJobStep()
      Gets the job step that created this product
      Gibt zurück:
      the jobStep
    • setJobStep

      public void setJobStep(JobStep jobStep)
      Sets the job step that created this product
      Parameter:
      jobStep - the jobStep to set
    • getConfiguredProcessor

      public ConfiguredProcessor getConfiguredProcessor()
      Gets the configured processor that generated this product
      Gibt zurück:
      the configuredProcessor
    • setConfiguredProcessor

      public void setConfiguredProcessor(ConfiguredProcessor configuredProcessor)
      Sets the configured processor that generated this product
      Parameter:
      configuredProcessor - the configuredProcessor to set
    • getParameters

      public Map<String,Parameter> getParameters()
      Gets the product parameters
      Gibt zurück:
      the parameters
    • setParameters

      public void setParameters(Map<String,Parameter> parameters)
      Sets the product parameters
      Parameter:
      parameters - the parameters to set
    • getStringParameter

      public String getStringParameter(String key) throws ClassCastException
      Get a named String parameter
      Parameter:
      key - the name of the String parameter
      Gibt zurück:
      the parameter value casted to String
      Löst aus:
      ClassCastException - if the named parameter is not of an appropriate type
    • setStringParameter

      public void setStringParameter(String key, String value)
      Set the named String parameter to the given value
      Parameter:
      key - the parameter name
      value - the parameter value to set
    • getIntegerParameter

      public Integer getIntegerParameter(String key) throws ClassCastException
      Get a named Integer parameter
      Parameter:
      key - the name of the Integer parameter
      Gibt zurück:
      the parameter value casted to Integer
      Löst aus:
      ClassCastException - if the named parameter is not of an appropriate type
    • setIntegerParameter

      public void setIntegerParameter(String key, Integer value)
      Set the named Integer parameter to the given value
      Parameter:
      key - the parameter name
      value - the parameter value to set
    • getBooleanParameter

      public Boolean getBooleanParameter(String key) throws ClassCastException
      Get a named Boolean parameter
      Parameter:
      key - the name of the Boolean parameter
      Gibt zurück:
      the parameter value casted to Boolean
      Löst aus:
      ClassCastException - if the named parameter is not of an appropriate type
    • setBooleanParameter

      public void setBooleanParameter(String key, Boolean value)
      Set the named Boolean parameter to the given value
      Parameter:
      key - the parameter name
      value - the parameter value to set
    • getDoubleParameter

      public Double getDoubleParameter(String key) throws ClassCastException
      Get a named Double parameter
      Parameter:
      key - the name of the Double parameter
      Gibt zurück:
      the parameter value casted to Double
      Löst aus:
      ClassCastException - if the named parameter is not of an appropriate type
    • setDoubleParameter

      public void setDoubleParameter(String key, Double value)
      Set the named Double parameter to the given value
      Parameter:
      key - the parameter name
      value - the parameter value to set
    • getInstantParameter

      public Instant getInstantParameter(String key) throws ClassCastException
      Get a named Instant parameter
      Parameter:
      key - the name of the Instant parameter
      Gibt zurück:
      the parameter value casted to Instant
      Löst aus:
      ClassCastException - if the named parameter is not of an appropriate type
    • setInstantParameter

      public void setInstantParameter(String key, TemporalAccessor value)
      Set the named Instant parameter to the given value
      Parameter:
      key - the parameter name
      value - the parameter value to set
    • generateFilename

      public String generateFilename() throws IllegalStateException, org.springframework.expression.ParseException, org.springframework.expression.EvaluationException
      Generates a product filename according to the file name template given for the enclosing mission
      Gibt zurück:
      a filename string
      Löst aus:
      IllegalStateException - if the filename template for the mission could not be found
      org.springframework.expression.ParseException - if the filename template could not be parsed using Spring Expression Language
      org.springframework.expression.EvaluationException - if the filename template could not be evaluated
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • hashCode

      public int hashCode()
      Setzt außer Kraft:
      hashCode in Klasse PersistentObject
    • equals

      public boolean equals(Object obj)
      Tests equality of products based on their attribute values. Returns true if either of the following alternatives holds:
      1. The database IDs are equal
      2. The UUIDs are equal or at least one of the UUIDs is null (i.e. they do not have different UUIDs)
      3. All of the following attributes are equal:
        • Product class
        • Configured processor
        • Sensing start/stop times
        • Processing mode
        • File class
        • Product quality
        • Production type
        • All product parameters present in both products (additional parameters on either product will be ignored)
      Note that the generation time is not considered relevant for product equality, because two processings with the same set of attributes as listed above are expected to produce the same output.
      Setzt außer Kraft:
      equals in Klasse PersistentObject
      Parameter:
      obj - the object to compare to
      Gibt zurück:
      true, if the two objects are equal, false otherwise
      Siehe auch: