Class Artifact

java.lang.Object
com.genologics.ri.artifact.Artifact
All Implemented Interfaces:
LimsEntity<Artifact>, LimsEntityLinkable<Artifact>, Linkable<Artifact>, Locatable, UDFHolder, Serializable

public class Artifact extends Object implements LimsEntity<Artifact>, UDFHolder, Serializable

The detailed representation of an Artifact.

An Artifact represents the inputs to or outputs from a process. An Artifact is classified by its type (Analyte, ResultFile, etc).

Artifacts do not support HTTP POST requests.

See Also:
  • Field Details

    • name

      protected String name
      The name of the artifact.
    • type

      protected String type
      The type of the artifact.
    • outputType

      protected OutputType outputType
      The output type of the artifact.
    • parentProcess

      protected ParentProcessLink parentProcess
      The parent process that produced this artifact.
    • qcFlag

      protected QCFlag qcFlag
      The quality control flag for this artifact.
    • location

      protected Location location
      The location of the artifact.
    • workingFlag

      protected Boolean workingFlag
      Flag indicating if this artifact is in a working state.
    • samples

      protected List<SampleLink> samples
      The list of samples associated with this artifact.
    • reagentLabels

      protected List<ReagentLabel> reagentLabels
      The list of reagent labels applied to this artifact.
    • controlType

      protected ControlTypeLink controlType
      The control type if this artifact is a control sample.
    • fields

      protected List<UDF> fields
      The list of user-defined fields for this artifact.
    • file

      protected ClarityFile file
      The file associated with this artifact, if any.
    • artifactGroups

      protected List<ArtifactGroupLink> artifactGroups
      The list of artifact groups this artifact belongs to.
    • workflowStages

      protected List<WorkflowStage> workflowStages
      The workflow stages this artifact is associated with.
      Since:
      2.20
    • demux

      protected DemuxLink demux
      The demultiplexing information for this artifact if it is a pool.
      Since:
      2.26
    • limsid

      protected String limsid
      The LIMS id of the artifact.
    • uri

      protected URI uri
      The URI of the artifact.
  • Constructor Details

    • Artifact

      public Artifact()
      Default constructor.
    • Artifact

      public Artifact(URI uri)
      Constructor with a URI.
      Parameters:
      uri - The artifact URI.
    • Artifact

      public Artifact(URI uri, String limsid)
      Constructor with URI and id.
      Parameters:
      uri - The artifact URI.
      limsid - The artifact LIMS id.
  • Method Details

    • getName

      public String getName()
      Gets the name of the artifact.
      Returns:
      The artifact name.
    • setName

      public void setName(String value)
      Sets the name of the artifact.
      Parameters:
      value - The artifact name.
    • getType

      public String getType()
      Gets the type of the artifact.
      Returns:
      The artifact type.
    • setType

      public void setType(String value)
      Sets the type of the artifact.
      Parameters:
      value - The artifact type.
    • getOutputType

      public OutputType getOutputType()
      Gets the output type of the artifact.
      Returns:
      The output type.
    • setOutputType

      public void setOutputType(OutputType value)
      Sets the output type of the artifact.
      Parameters:
      value - The output type.
    • getParentProcess

      public ParentProcessLink getParentProcess()
      Gets the parent process that produced this artifact.
      Returns:
      The parent process link.
    • setParentProcess

      public ParentProcessLink setParentProcess(LimsEntityLinkable<ClarityProcess> link)
      Sets the parent process that produced this artifact.
      Parameters:
      link - The parent process link.
      Returns:
      The created parent process link.
    • getQCFlag

      public QCFlag getQCFlag()
      Gets the quality control flag for this artifact.
      Returns:
      The QC flag.
    • setQCFlag

      public void setQCFlag(QCFlag value)
      Sets the quality control flag for this artifact.
      Parameters:
      value - The QC flag.
    • getLocation

      public Location getLocation()
      Gets the location of the artifact.
      Returns:
      The location.
    • setLocation

      public void setLocation(Location value)
      Sets the location of the artifact.
      Parameters:
      value - The location.
    • isWorkingFlag

      public Boolean isWorkingFlag()
      Checks if this artifact is in a working state.
      Returns:
      The working flag.
    • setWorkingFlag

      public void setWorkingFlag(Boolean value)
      Sets the working flag for this artifact.
      Parameters:
      value - The working flag.
    • getSamples

      public List<SampleLink> getSamples()
      Gets the list of samples associated with this artifact.
      Returns:
      The list of sample links.
    • setSamples

      public void setSamples(Collection<? extends LimsEntityLinkable<Sample>> links)
      Sets the list of samples associated with this artifact.
      Parameters:
      links - The collection of sample links.
    • addSample

      public SampleLink addSample(Linkable<Sample> linkable)
      Adds a sample to this artifact.
      Parameters:
      linkable - The linkable sample to add.
      Returns:
      The created sample link.
    • addSample

      public SampleLink addSample(LimsEntityLinkable<Sample> linkable)
      Adds a sample to this artifact.
      Parameters:
      linkable - The LIMS entity linkable sample to add.
      Returns:
      The created sample link.
    • getReagentLabels

      public List<ReagentLabel> getReagentLabels()
      Gets the list of reagent labels applied to this artifact.
      Returns:
      The list of reagent labels.
    • addReagentLabel

      public ReagentLabel addReagentLabel(ReagentLabel label)
      Adds a reagent label to this artifact.
      Parameters:
      label - The reagent label to add.
      Returns:
      The added reagent label.
    • addReagentLabel

      public ReagentLabel addReagentLabel(String labelName)
      Adds a reagent label to this artifact.
      Parameters:
      labelName - The name of the reagent label to add.
      Returns:
      The created reagent label.
    • getControlType

      public ControlTypeLink getControlType()
      Gets the control type if this artifact is a control sample.
      Returns:
      The control type link.
    • setControlType

      public void setControlType(Linkable<ControlType> link)
      Sets the control type for this artifact.
      Parameters:
      link - The control type link.
    • getUserDefinedFields

      public List<UDF> getUserDefinedFields()
      Description copied from interface: UDFHolder
      Get a list of user defined fields held by the entity.
      Specified by:
      getUserDefinedFields in interface UDFHolder
      Returns:
      A list of UDF objects. This should never return null.
    • getFile

      public ClarityFile getFile()
      File provides a URI linking to the detailed representation of the File associated with the Artifact.
      Returns:
      The file link, if present.
    • setFile

      public void setFile(ClarityFile value)
      Sets the file associated with this artifact.
      Parameters:
      value - The file.
    • getArtifactGroups

      public List<ArtifactGroupLink> getArtifactGroups()
      Gets the list of artifact groups this artifact belongs to.
      Returns:
      The list of artifact group links.
    • setArtifactGroups

      public void setArtifactGroups(Collection<? extends Linkable<ArtifactGroup>> links)
      Sets the artifact groups this artifact belongs to.
      Parameters:
      links - The collection of artifact group links.
    • addArtifactGroup

      public ArtifactGroupLink addArtifactGroup(Linkable<ArtifactGroup> link)
      Adds an artifact group to this artifact.
      Parameters:
      link - The artifact group link to add.
      Returns:
      The created artifact group link.
    • getWorkflowStages

      public List<WorkflowStage> getWorkflowStages()
      Gets the workflow stages this artifact is associated with.
      Returns:
      The list of workflow stages.
    • setWorkflowStages

      public void setWorkflowStages(Collection<WorkflowStage> workflowStages)
      Sets the workflow stages this artifact is associated with.
      Parameters:
      workflowStages - The collection of workflow stages.
    • addWorkflowStage

      public WorkflowStage addWorkflowStage(WorkflowStage stage)
      Adds a workflow stage to this artifact.
      Parameters:
      stage - The workflow stage to add.
      Returns:
      The added workflow stage.
    • getDemux

      public DemuxLink getDemux()
      Gets the demultiplexing information for this artifact.
      Returns:
      The demux link.
    • setDemux

      public void setDemux(Linkable<Demux> demux)
      Sets the demultiplexing information for this artifact.
      Parameters:
      demux - The demux link.
    • getLimsid

      public String getLimsid()
      Gets the LIMS id of this artifact.
      Specified by:
      getLimsid in interface LimsEntityLinkable<Artifact>
      Returns:
      The LIMS id.
    • setLimsid

      public void setLimsid(String value)
      Sets the LIMS id of this artifact.
      Specified by:
      setLimsid in interface LimsEntityLinkable<Artifact>
      Parameters:
      value - The LIMS id.
    • getUri

      public URI getUri()
      Gets the URI of this artifact.
      Specified by:
      getUri in interface Locatable
      Returns:
      The artifact URI.
    • setUri

      public void setUri(URI value)
      Sets the URI of this artifact.
      Specified by:
      setUri in interface Locatable
      Parameters:
      value - The artifact URI.
    • toString

      public String toString()
      Returns a string representation of this artifact.
      Overrides:
      toString in class Object
      Returns:
      A string containing the LIMS id and type.
    • getLink

      public LimsEntityLink<Artifact> getLink()
      Get a concrete link object to this LimsEntityLinkable entity. This definition simply narrows the type of links returned by classes that implement this interface, as they should all have corresponding LimsEntityLink link classes available.
      Specified by:
      getLink in interface LimsEntityLinkable<Artifact>
      Specified by:
      getLink in interface Linkable<Artifact>
      Returns:
      A LimsEntityLink to this object.