Package no.unit.nva.model
Class Publication
- java.lang.Object
-
- no.unit.nva.model.Publication
-
- All Implemented Interfaces:
WithCopy<Publication.Builder>,PublicationBase,WithAssociatedArtifact,WithIdentifier,WithInternal,WithMetadata
public class Publication extends java.lang.Object implements WithIdentifier, WithInternal, WithAssociatedArtifact, WithMetadata, WithCopy<Publication.Builder>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPublication.Builder
-
Field Summary
Fields Modifier and Type Field Description static java.util.Map<PublicationStatus,java.util.List<PublicationStatus>>validStatusTransitionsMap
-
Constructor Summary
Constructors Constructor Description Publication()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Publication.Buildercopy()Returns a Builder filled in with a copy of the data of the original object.booleanequals(java.lang.Object o)java.util.Set<AdditionalIdentifier>getAdditionalIdentifiers()AssociatedArtifactListgetAssociatedArtifacts()java.time.InstantgetCreatedDate()java.net.URIgetDoi()EntityDescriptiongetEntityDescription()java.util.List<Funding>getFundings()java.net.URIgetHandle()no.unit.nva.identifiers.SortableIdentifiergetIdentifier()java.time.InstantgetIndexedDate()java.lang.StringgetJsonLdContext()java.net.URIgetLink()java.lang.StringgetModelVersion()java.time.InstantgetModifiedDate()java.util.List<ResearchProject>getProjects()java.time.InstantgetPublishedDate()OrganizationgetPublisher()ResourceOwnergetResourceOwner()java.lang.StringgetRightsHolder()PublicationStatusgetStatus()java.util.List<java.net.URI>getSubjects()inthashCode()booleanisPublishable()booleansatisfiesFindableDoiRequirements()voidsetAdditionalIdentifiers(java.util.Set<AdditionalIdentifier> additionalIdentifiers)voidsetAssociatedArtifacts(AssociatedArtifactList associatedArtifacts)voidsetCreatedDate(java.time.Instant createdDate)voidsetDoi(java.net.URI doi)voidsetEntityDescription(EntityDescription entityDescription)voidsetFundings(java.util.List<Funding> fundings)voidsetHandle(java.net.URI handle)voidsetIdentifier(no.unit.nva.identifiers.SortableIdentifier identifier)voidsetIndexedDate(java.time.Instant indexedDate)voidsetLink(java.net.URI link)voidsetModelVersion()voidsetModifiedDate(java.time.Instant modifiedDate)voidsetProjects(java.util.List<ResearchProject> projects)voidsetPublishedDate(java.time.Instant publishedDate)voidsetPublisher(Organization publisher)voidsetResourceOwner(ResourceOwner resourceOwner)voidsetRightsHolder(java.lang.String rightsHolder)voidsetStatus(PublicationStatus status)voidsetSubjects(java.util.List<java.net.URI> subjects)java.lang.StringtoString()voidupdateStatus(PublicationStatus nextStatus)Updates the status of the publication using rules for valid status transitions.
-
-
-
Field Detail
-
validStatusTransitionsMap
public static final java.util.Map<PublicationStatus,java.util.List<PublicationStatus>> validStatusTransitionsMap
-
-
Method Detail
-
getAdditionalIdentifiers
public java.util.Set<AdditionalIdentifier> getAdditionalIdentifiers()
-
setAdditionalIdentifiers
public void setAdditionalIdentifiers(java.util.Set<AdditionalIdentifier> additionalIdentifiers)
-
getCreatedDate
public java.time.Instant getCreatedDate()
- Specified by:
getCreatedDatein interfaceWithInternal
-
setCreatedDate
public void setCreatedDate(java.time.Instant createdDate)
- Specified by:
setCreatedDatein interfaceWithInternal
-
getStatus
public PublicationStatus getStatus()
- Specified by:
getStatusin interfaceWithInternal
-
setStatus
public void setStatus(PublicationStatus status)
- Specified by:
setStatusin interfaceWithInternal
-
getHandle
public java.net.URI getHandle()
- Specified by:
getHandlein interfaceWithInternal
-
setHandle
public void setHandle(java.net.URI handle)
- Specified by:
setHandlein interfaceWithInternal
-
getPublishedDate
public java.time.Instant getPublishedDate()
- Specified by:
getPublishedDatein interfaceWithInternal
-
setPublishedDate
public void setPublishedDate(java.time.Instant publishedDate)
- Specified by:
setPublishedDatein interfaceWithInternal
-
getModifiedDate
public java.time.Instant getModifiedDate()
- Specified by:
getModifiedDatein interfaceWithInternal
-
setModifiedDate
public void setModifiedDate(java.time.Instant modifiedDate)
- Specified by:
setModifiedDatein interfaceWithInternal
-
getResourceOwner
public ResourceOwner getResourceOwner()
- Specified by:
getResourceOwnerin interfaceWithInternal
-
setResourceOwner
public void setResourceOwner(ResourceOwner resourceOwner)
- Specified by:
setResourceOwnerin interfaceWithInternal
-
getIndexedDate
public java.time.Instant getIndexedDate()
- Specified by:
getIndexedDatein interfaceWithInternal
-
setIndexedDate
public void setIndexedDate(java.time.Instant indexedDate)
- Specified by:
setIndexedDatein interfaceWithInternal
-
getLink
public java.net.URI getLink()
- Specified by:
getLinkin interfaceWithInternal
-
setLink
public void setLink(java.net.URI link)
- Specified by:
setLinkin interfaceWithInternal
-
getPublisher
public Organization getPublisher()
- Specified by:
getPublisherin interfaceWithInternal
-
setPublisher
public void setPublisher(Organization publisher)
- Specified by:
setPublisherin interfaceWithInternal
-
getDoi
public java.net.URI getDoi()
- Specified by:
getDoiin interfaceWithInternal
-
setDoi
public void setDoi(java.net.URI doi)
- Specified by:
setDoiin interfaceWithInternal
-
getIdentifier
public no.unit.nva.identifiers.SortableIdentifier getIdentifier()
- Specified by:
getIdentifierin interfaceWithIdentifier- Specified by:
getIdentifierin interfaceWithInternal
-
setIdentifier
public void setIdentifier(no.unit.nva.identifiers.SortableIdentifier identifier)
- Specified by:
setIdentifierin interfaceWithIdentifier- Specified by:
setIdentifierin interfaceWithInternal
-
getEntityDescription
public EntityDescription getEntityDescription()
- Specified by:
getEntityDescriptionin interfaceWithMetadata
-
setEntityDescription
public void setEntityDescription(EntityDescription entityDescription)
- Specified by:
setEntityDescriptionin interfaceWithMetadata
-
getProjects
public java.util.List<ResearchProject> getProjects()
- Specified by:
getProjectsin interfaceWithMetadata
-
setProjects
public void setProjects(java.util.List<ResearchProject> projects)
- Specified by:
setProjectsin interfaceWithMetadata
-
getSubjects
public java.util.List<java.net.URI> getSubjects()
- Specified by:
getSubjectsin interfaceWithMetadata
-
setSubjects
public void setSubjects(java.util.List<java.net.URI> subjects)
- Specified by:
setSubjectsin interfaceWithMetadata
-
getFundings
public java.util.List<Funding> getFundings()
- Specified by:
getFundingsin interfaceWithMetadata
-
setFundings
public void setFundings(java.util.List<Funding> fundings)
- Specified by:
setFundingsin interfaceWithMetadata
-
getRightsHolder
public java.lang.String getRightsHolder()
- Specified by:
getRightsHolderin interfaceWithMetadata
-
setRightsHolder
public void setRightsHolder(java.lang.String rightsHolder)
- Specified by:
setRightsHolderin interfaceWithMetadata
-
getModelVersion
public java.lang.String getModelVersion()
-
setModelVersion
public void setModelVersion()
-
getAssociatedArtifacts
public AssociatedArtifactList getAssociatedArtifacts()
- Specified by:
getAssociatedArtifactsin interfaceWithAssociatedArtifact
-
setAssociatedArtifacts
public void setAssociatedArtifacts(AssociatedArtifactList associatedArtifacts)
- Specified by:
setAssociatedArtifactsin interfaceWithAssociatedArtifact
-
copy
public Publication.Builder copy()
Description copied from interface:WithCopyReturns a Builder filled in with a copy of the data of the original object.- Specified by:
copyin interfaceWithCopy<Publication.Builder>- Returns:
- a builder instance with filled in data.
-
updateStatus
public void updateStatus(PublicationStatus nextStatus) throws InvalidPublicationStatusTransitionException
Updates the status of the publication using rules for valid status transitions.- Parameters:
nextStatus- the status to update to- Throws:
InvalidPublicationStatusTransitionException- if the status transition is not allowed
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getJsonLdContext
public java.lang.String getJsonLdContext()
-
isPublishable
public boolean isPublishable()
-
satisfiesFindableDoiRequirements
public boolean satisfiesFindableDoiRequirements()
-
-