Class SecurityMetadata

java.lang.Object
org.ivoa.dm.tool.SecurityMetadata
All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>

@Entity @VoDml(id="tool:SecurityMetadata", role=objectType) public class SecurityMetadata extends Object implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
Security metadata for a tool image. objectType: SecurityMetadata
  • Field Details

    • _id

      protected Long _id
      inserted database key
    • signature

      @VoDml(id="tool:SecurityMetadata.signature", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String signature
      a digest style signature. : Attribute signature type ivoa:string : multiplicity 1
    • vulnerabilities

      @VoDml(id="tool:SecurityMetadata.vulnerabilities", role=composition, type="tool:Vulnerability", typeRole=objectType) protected List<Vulnerability> vulnerabilities
      Known vulnerabilities in the image. composition vulnerabilities : ( Multiplicity : 0..* )
    • compliance

      @VoDml(id="tool:SecurityMetadata.compliance", role=composition, type="tool:Compliance", typeRole=objectType) protected List<Compliance> compliance
      Compliance information for the image. composition compliance : ( Multiplicity : 0..* )
  • Constructor Details

    • SecurityMetadata

      public SecurityMetadata()
      Creates a new SecurityMetadata
    • SecurityMetadata

      public SecurityMetadata(String signature, List<Vulnerability> vulnerabilities, List<Compliance> compliance)
      full parameter constructor.
      Parameters:
      signature - a digest style signature.
      vulnerabilities - Known vulnerabilities in the image.
      compliance - Compliance information for the image.
    • SecurityMetadata

      public SecurityMetadata(SecurityMetadata other)
      Copy Constructor. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
  • Method Details

    • getId

      public Long getId()
      Specified by:
      getId in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
      Returns:
      the id
    • updateUsing

      public void updateUsing(SecurityMetadata other)
      Update this object with the content of the given object. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
    • getSignature

      public String getSignature()
      Returns signature Attribute.
      Returns:
      signature Attribute
    • setSignature

      public void setSignature(String pSignature)
      Set signature Attribute.
      Parameters:
      pSignature - value to set
    • withSignature

      public SecurityMetadata withSignature(String pSignature)
      fluent setter for signature Attribute.
      Parameters:
      pSignature - value to set
      Returns:
      SecurityMetadata
    • getVulnerabilities

      public List<Vulnerability> getVulnerabilities()
      Returns vulnerabilities composition as an immutable list.
      Returns:
      vulnerabilities composition.
    • setVulnerabilities

      public void setVulnerabilities(List<Vulnerability> pVulnerabilities)
      Defines whole vulnerabilities composition.
      Parameters:
      pVulnerabilities - composition to set.
    • addToVulnerabilities

      public void addToVulnerabilities(Vulnerability p)
      Add a org.ivoa.dm.tool.Vulnerability to the composition.
      Parameters:
      p - org.ivoa.dm.tool.Vulnerability to add
    • removeFromVulnerabilities

      public void removeFromVulnerabilities(Vulnerability p)
      Remove a org.ivoa.dm.tool.Vulnerability from the composition.
      Parameters:
      p - org.ivoa.dm.tool.Vulnerability to remove
    • replaceInVulnerabilities

      public void replaceInVulnerabilities(Vulnerability _p)
      update a org.ivoa.dm.tool.Vulnerability in the composition.
      Parameters:
      _p - org.ivoa.dm.tool.Vulnerability to update the match is done via the database key
    • getCompliance

      public List<Compliance> getCompliance()
      Returns compliance composition as an immutable list.
      Returns:
      compliance composition.
    • setCompliance

      public void setCompliance(List<Compliance> pCompliance)
      Defines whole compliance composition.
      Parameters:
      pCompliance - composition to set.
    • addToCompliance

      public void addToCompliance(Compliance p)
      Add a org.ivoa.dm.tool.Compliance to the composition.
      Parameters:
      p - org.ivoa.dm.tool.Compliance to add
    • removeFromCompliance

      public void removeFromCompliance(Compliance p)
      Remove a org.ivoa.dm.tool.Compliance from the composition.
      Parameters:
      p - org.ivoa.dm.tool.Compliance to remove
    • replaceInCompliance

      public void replaceInCompliance(Compliance _p)
      update a org.ivoa.dm.tool.Compliance in the composition.
      Parameters:
      _p - org.ivoa.dm.tool.Compliance to update the match is done via the database key
    • createSecurityMetadata

      public static SecurityMetadata createSecurityMetadata(Consumer<SecurityMetadata.SecurityMetadataBuilder> f)
      create a SecurityMetadata in functional builder style.
      Parameters:
      f - the functional builder.
      Returns:
      an object initialized from the builder.
    • forceLoad

      public void forceLoad()
      Specified by:
      forceLoad in interface org.ivoa.vodml.jpa.JPAManipulations
    • delete

      public void delete(jakarta.persistence.EntityManager em)
      Specified by:
      delete in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>