Package no.unit.nva.model
Class Publication
- java.lang.Object
-
- no.unit.nva.model.Publication
-
- All Implemented Interfaces:
WithCopy<Publication.Builder>,PublicationBase,WithFile,WithIdentifier,WithInternal,WithMetadata
public class Publication extends java.lang.Object implements WithIdentifier, WithInternal, WithFile, 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.lang.StringERROR_MESSAGE_UPDATEDOIREQUEST_MISSING_DOIREQUESTstatic 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()java.time.InstantgetCreatedDate()java.net.URIgetDoi()DoiRequestgetDoiRequest()EntityDescriptiongetEntityDescription()no.unit.nva.file.model.FileSetgetFileSet()java.net.URIgetHandle()no.unit.nva.identifiers.SortableIdentifiergetIdentifier()java.time.InstantgetIndexedDate()java.net.URIgetLink()java.lang.StringgetModelVersion()java.time.InstantgetModifiedDate()java.lang.StringgetOwner()java.util.List<ResearchProject>getProjects()java.time.InstantgetPublishedDate()OrganizationgetPublisher()PublicationStatusgetStatus()java.util.List<java.net.URI>getSubjects()inthashCode()voidsetAdditionalIdentifiers(java.util.Set<AdditionalIdentifier> additionalIdentifiers)voidsetCreatedDate(java.time.Instant createdDate)voidsetDoi(java.net.URI doi)voidsetDoiRequest(DoiRequest doiRequest)voidsetEntityDescription(EntityDescription entityDescription)voidsetFileSet(no.unit.nva.file.model.FileSet fileSet)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)voidsetOwner(java.lang.String owner)voidsetProjects(java.util.List<ResearchProject> projects)voidsetPublishedDate(java.time.Instant publishedDate)voidsetPublisher(Organization publisher)voidsetStatus(PublicationStatus status)voidsetSubjects(java.util.List<java.net.URI> subjects)voidupdateDoiRequestStatus(DoiRequestStatus requestedStatusChange)Update a publication with the requested status change.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
-
ERROR_MESSAGE_UPDATEDOIREQUEST_MISSING_DOIREQUEST
public static final java.lang.String ERROR_MESSAGE_UPDATEDOIREQUEST_MISSING_DOIREQUEST
- See Also:
- Constant Field Values
-
-
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
-
getOwner
public java.lang.String getOwner()
- Specified by:
getOwnerin interfaceWithInternal
-
setOwner
public void setOwner(java.lang.String owner)
- Specified by:
setOwnerin 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
-
getDoiRequest
public DoiRequest getDoiRequest()
- Specified by:
getDoiRequestin interfaceWithInternal
-
setDoiRequest
public void setDoiRequest(DoiRequest doiRequest)
- Specified by:
setDoiRequestin interfaceWithInternal
-
updateDoiRequestStatus
public void updateDoiRequestStatus(DoiRequestStatus requestedStatusChange)
Update a publication with the requested status change.- Parameters:
requestedStatusChange- Requested status change.- Throws:
java.lang.IllegalArgumentException- Invalid status to change to.java.lang.IllegalStateException- No DoiRequest exists.- See Also:
DoiRequestStatus
-
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
-
getFileSet
public no.unit.nva.file.model.FileSet getFileSet()
- Specified by:
getFileSetin interfaceWithFile
-
setFileSet
public void setFileSet(no.unit.nva.file.model.FileSet fileSet)
- Specified by:
setFileSetin interfaceWithFile
-
getModelVersion
public java.lang.String getModelVersion()
-
setModelVersion
public void setModelVersion()
-
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
-
-