public interface ITaxonService extends IIdentifiableEntityService<TaxonBase>, IPublishableService<TaxonBase>
Modifier and Type | Method and Description |
---|---|
void |
changeHomotypicalGroupOfSynonym(Synonym synonym,
HomotypicalGroup newHomotypicalGroup,
Taxon targetTaxon,
boolean setBasionymRelationIfApplicable)
Changes the homotypic group of a synonym into the new homotypic group.
|
UpdateResult |
changeRelatedTaxonToSynonym(Taxon fromTaxon,
Taxon toTaxon,
TaxonRelationshipType oldRelationshipType,
SynonymType synonymType)
Change a related concept into synonym
|
UpdateResult |
changeRelatedTaxonToSynonym(java.util.UUID fromTaxonUuid,
java.util.UUID toTaxonUuid,
TaxonRelationshipType oldRelationshipType,
SynonymType synonymType) |
UpdateResult |
changeSynonymToAcceptedTaxon(Synonym synonym,
Taxon acceptedTaxon,
boolean deleteSynonym)
Changes a synonym into an accepted taxon and removes
the synonym relationship to the given accepted taxon.
|
UpdateResult |
changeSynonymToAcceptedTaxon(java.util.UUID synonymUuid,
java.util.UUID acceptedTaxonUuid,
java.util.UUID newParentNodeUuid,
boolean deleteSynonym) |
UpdateResult |
changeSynonymToRelatedTaxon(Synonym synonym,
Taxon toTaxon,
TaxonRelationshipType taxonRelationshipType,
Reference reference,
java.lang.String microReference)
Change a synonym into a related concept
|
UpdateResult |
changeSynonymToRelatedTaxon(java.util.UUID synonymUuid,
java.util.UUID toTaxonUuid,
TaxonRelationshipType taxonRelationshipType,
Reference citation,
java.lang.String microcitation) |
long |
countSynonyms(boolean onlyAttachedToTaxon)
Counts the number of synonyms
|
java.util.List<Synonym> |
createAllInferredSynonyms(Taxon taxon,
Classification tree,
boolean doWithMisappliedNames)
Creates all inferred synonyms for the taxon in the classification, but do not insert it to the database
|
java.util.List<Synonym> |
createInferredSynonyms(Taxon taxon,
Classification tree,
SynonymType type,
boolean doWithMisappliedNames)
Creates the specified inferred synonyms for the taxon in the classification, but do not insert it to the database
|
DeleteResult |
deleteSynonym(Synonym synonym,
SynonymDeletionConfigurator config)
Removes a synonym.
In detail it removes the synonym concept If removeNameIfPossible is true
it also removes the synonym name if it is not used in any other context
(part of a concept, in DescriptionElementSource, part of a name relationship, used inline, ...)If newHomotypicGroupIfNeeded is true and the synonym name
is not deleted and the name is homotypic to the taxon
the name is moved to a new homotypic group.If synonym is null the method has no effect. |
DeleteResult |
deleteSynonym(java.util.UUID synonymUuid,
SynonymDeletionConfigurator config)
Removes a synonym.
|
DeleteResult |
deleteTaxon(java.util.UUID taxonUuid,
TaxonDeletionConfigurator config,
java.util.UUID classificationUuid) |
Taxon |
findAcceptedTaxonFor(java.util.UUID synonymUuid,
java.util.UUID classificationUuid,
boolean includeUnpublished,
java.util.List<java.lang.String> propertyPaths) |
Synonym |
findBestMatchingSynonym(java.lang.String taxonName,
boolean includeUnpublished) |
Taxon |
findBestMatchingTaxon(MatchingTaxonConfigurator config) |
Taxon |
findBestMatchingTaxon(java.lang.String taxonName) |
Pager<SearchResult<TaxonBase>> |
findByDescriptionElementFullText(java.lang.Class<? extends DescriptionElementBase> clazz,
java.lang.String queryString,
Classification classification,
TaxonNode subtree,
java.util.List<Feature> features,
java.util.List<Language> languages,
boolean highlightFragments,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Searches for TaxonBase instances by using the DescriptionElement free text index.
|
Pager<SearchResult<TaxonBase>> |
findByDistribution(java.util.List<NamedArea> areaFilter,
java.util.List<PresenceAbsenceTerm> statusFilter,
Classification classification,
TaxonNode subtree,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths) |
Pager<SearchResult<TaxonBase>> |
findByEverythingFullText(java.lang.String queryString,
Classification classification,
TaxonNode subtree,
boolean includeUnpublished,
java.util.List<Language> languages,
boolean highlightFragments,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Deprecated.
this search should fully be covered by the new method
#findTaxaAndNamesByFullText(EnumSet, String, Classification, Set, List, boolean, Integer, Integer, List, List)
, maybe we should rename this latter method to give it a more meaningful name |
Pager<SearchResult<TaxonBase>> |
findByFullText(java.lang.Class<? extends TaxonBase> clazz,
java.lang.String queryString,
Classification classification,
TaxonNode subtree,
boolean includeUnpublished,
java.util.List<Language> languages,
boolean highlightFragments,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Searches for TaxonBase instances using the TaxonBase free text index.
|
<S extends TaxonBase> |
findByIdentifier(java.lang.Class<S> clazz,
java.lang.String identifier,
DefinedTerm identifierType,
TaxonNode subtreeFilter,
MatchMode matchmode,
boolean includeEntity,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<java.lang.String> propertyPaths) |
<S extends TaxonBase> |
findByMarker(java.lang.Class<S> clazz,
MarkerType markerType,
java.lang.Boolean markerValue,
TaxonNode subtreeFilter,
boolean includeEntity,
TaxonTitleType titleType,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<java.lang.String> propertyPaths)
|
java.util.Map<java.lang.String,java.util.Map<java.util.UUID,java.util.Set<TaxonName>>> |
findIdenticalTaxonNames(java.util.List<java.util.UUID> sourceRefUuids,
java.util.List<java.lang.String> propertyPaths)
Returns a map of taxon names that have identical name caches but derive from different sources.
|
Pager<IdentifiableEntity> |
findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator)
Returns a list of IdentifiableEntity instances (in particular, TaxonName and TaxonBase instances)
that match the properties specified in the configurator.
|
Pager<SearchResult<TaxonBase>> |
findTaxaAndNamesByFullText(java.util.EnumSet<TaxaAndNamesSearchMode> searchModes,
java.lang.String queryString,
Classification classification,
TaxonNode subtree,
java.util.Set<NamedArea> namedAreas,
java.util.Set<PresenceAbsenceTerm> distributionStatus,
java.util.List<Language> languages,
boolean highlightFragments,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Searches for TaxonBase instances using the TaxonBase free text index.
|
java.util.List<UuidAndTitleCache<? extends IdentifiableEntity>> |
findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) |
java.util.List<TaxonBase> |
findTaxaByID(java.util.Set<java.lang.Integer> listOfIDs) |
Pager<TaxonBase> |
findTaxaByName(java.lang.Class<? extends TaxonBase> clazz,
java.lang.String uninomial,
java.lang.String infragenericEpithet,
java.lang.String specificEpithet,
java.lang.String infraspecificEpithet,
java.lang.String authorshipCache,
Rank rank,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<java.lang.String> propertyPaths)
Returns a list of TaxonBase instances where the
taxon.name properties match the parameters passed.
|
java.util.List<TaxonBase> |
findTaxaByName(MatchingTaxonConfigurator config) |
TaxonBase |
findTaxonByUuid(java.util.UUID uuid,
java.util.List<java.lang.String> propertyPaths)
Returns the TaxonBase with the given UUID
using the given match mode and initialization strategy
|
java.util.List<java.util.List<Synonym>> |
getHeterotypicSynonymyGroups(Taxon taxon,
java.util.List<java.lang.String> propertyPaths)
Returns the ordered list of all
homotypical groups
that contain synonyms that are heterotypic to the given taxon. |
java.util.List<Synonym> |
getHomotypicSynonymsByHomotypicGroup(Taxon taxon,
java.util.List<java.lang.String> propertyPaths)
Returns the list of all synonyms that share the same homotypical group with the given taxon.
|
Pager<Synonym> |
getSynonyms(Taxon taxon,
SynonymType type,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Returns the Synonyms (with the given synonym relationship type, if this argument is supplied)
that do have the supplied taxon as accepted taxon.
|
java.util.List<java.util.List<Synonym>> |
getSynonymsByHomotypicGroup(Taxon taxon,
java.util.List<java.lang.String> propertyPaths)
This method returns in the first entry the list of synonyms of the
homotypic group of the accepted taxon.
|
java.util.List<Classification> |
listClassifications(TaxonBase taxonBase,
java.lang.Integer limit,
java.lang.Integer start,
java.util.List<java.lang.String> propertyPaths)
Lists all classifications the given taxon/synonym is used in
Synonym |
java.util.List<TaxonRelationship> |
listFromTaxonRelationships(Taxon taxon,
TaxonRelationshipType type,
boolean includeUnpublished,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Returns the TaxonRelationships (of where relationship.type == type, if this argument is supplied)
where the supplied taxon is relatedFrom.
|
IncludedTaxaDTO |
listIncludedTaxa(java.util.UUID taxonUuid,
IncludedTaxonConfiguration configuration)
|
java.util.List<Media> |
listMedia(Taxon taxon,
java.util.Set<TaxonRelationshipEdge> includeRelationships,
java.lang.Boolean limitToGalleries,
java.lang.Boolean includeTaxonDescriptions,
java.lang.Boolean includeOccurrences,
java.lang.Boolean includeTaxonNameDescriptions,
java.util.List<java.lang.String> propertyPath)
Lists all Media found in an any TaxonDescription, NameDescription,
SpecimenOrObservationBase, DnaSample Chromatograms, etc.
|
java.util.Set<Taxon> |
listRelatedTaxa(Taxon taxon,
java.util.Set<TaxonRelationshipEdge> includeRelationships,
java.lang.Integer maxDepth,
boolean includeUnpublished,
java.lang.Integer limit,
java.lang.Integer start,
java.util.List<java.lang.String> propertyPaths)
lists all taxa which are related to the
taxon given as
parameter. |
java.util.List<TaxonBase> |
listTaxaByName(java.lang.Class<? extends TaxonBase> clazz,
java.lang.String uninomial,
java.lang.String infragenericEpithet,
java.lang.String specificEpithet,
java.lang.String infraspecificEpithet,
java.lang.String authorshipCache,
Rank rank,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<java.lang.String> propertyPaths)
Returns a list of TaxonBase instances where the
taxon.name properties match the parameters passed.
|
java.util.List<Media> |
listTaxonDescriptionMedia(Taxon taxon,
java.util.Set<TaxonRelationshipEdge> includeRelationships,
boolean limitToGalleries,
java.util.List<java.lang.String> propertyPath)
Deprecated.
use
#listMedia(Taxon, Set, boolean, boolean, List) instead |
java.util.List<TaxonRelationship> |
listTaxonRelationships(java.util.Set<TaxonRelationshipType> types,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Returns all or a page of all taxon concept relationships in the database.
|
TaxonRelationshipsDTO |
listTaxonRelationships(java.util.UUID taxonUuid,
java.util.Set<TaxonRelationshipType> directTypes,
java.util.Set<TaxonRelationshipType> inversTypes,
RelationshipBase.Direction direction,
boolean groupMisapplications,
boolean includeUnpublished,
java.lang.Integer pageSize,
java.lang.Integer pageNumber)
Returns a list of taxon relationships for a given taxon as DTO.
|
java.util.List<TaxonRelationship> |
listToTaxonRelationships(Taxon taxon,
TaxonRelationshipType type,
boolean includeUnpublished,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Returns the TaxonRelationships (of where relationship.type == type, if this argument is supplied)
where the supplied taxon is relatedTo.
|
TaxonBase |
load(java.util.UUID uuid,
java.util.List<java.lang.String> propertyPaths)
Finds the cdm entity specified by the
uuid parameter and
recursively initializes all bean properties given in the
propertyPaths parameter. |
UpdateResult |
moveFactualDateToAnotherTaxon(java.util.UUID fromTaxonUuid,
java.util.UUID toTaxonUuid) |
UpdateResult |
moveSynonymToAnotherTaxon(Synonym oldSynonym,
Taxon newTaxon,
boolean moveHomotypicGroup,
SynonymType newSynonymType)
|
UpdateResult |
moveSynonymToAnotherTaxon(Synonym oldSynonym,
Taxon newTaxon,
boolean moveHomotypicGroup,
SynonymType newSynonymType,
Reference newSecundum,
java.lang.String newSecundumDetail,
boolean keepSecundumIfUndefined)
Moves a synonym to another taxon and removes the old synonym relationship.
|
UpdateResult |
moveSynonymToAnotherTaxon(Synonym oldSynonym,
java.util.UUID newTaxonUUID,
boolean moveHomotypicGroup,
SynonymType newSynonymType,
Reference newSecundum,
java.lang.String newSecundumDetail,
boolean keepSecundumIfUndefined) |
<S extends TaxonBase> |
page(java.lang.Class<S> clazz,
java.util.List<Restriction<?>> restrictions,
java.lang.Integer pageSize,
java.lang.Integer pageIndex,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths,
boolean includeUnpublished) |
Pager<TaxonRelationship> |
pageFromTaxonRelationships(Taxon taxon,
TaxonRelationshipType type,
boolean includeUnpublished,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Returns the TaxonRelationships (of where relationship.type == type, if this argument is supplied)
where the supplied taxon is relatedFrom.
|
Pager<TaxonRelationship> |
pageToTaxonRelationships(Taxon taxon,
TaxonRelationshipType type,
boolean includeUnpublished,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Returns the TaxonRelationships (of where relationship.type == type, if this arguement is supplied)
where the supplied taxon is relatedTo.
|
Pager<TaxonBase> |
search(java.lang.Class<? extends TaxonBase> clazz,
java.lang.String queryString,
java.lang.Integer pageSize,
java.lang.Integer pageNumber,
java.util.List<OrderHint> orderHints,
java.util.List<java.lang.String> propertyPaths)
Returns a Paged List of TaxonBase instances where the default field matches the String queryString (as interpreted by the Lucene QueryParser)
|
java.util.List<TaxonBase> |
searchByName(java.lang.String name,
boolean includeUnpublished,
Reference sec)
Returns a list of taxa that matches the name string and the sec reference
|
UpdateResult |
swapSynonymAndAcceptedTaxon(Synonym synonym,
Taxon acceptedTaxon,
boolean setNameInSource)
Swaps given synonym and accepted taxon.
|
UpdateResult |
swapSynonymAndAcceptedTaxon(java.util.UUID synonymUUid,
java.util.UUID acceptedTaxonUuid,
boolean setNameInSource) |
countByTitle, countByTitle, countByTitleWithRestrictions, deduplicate, find, findByIdentifier, findByMarker, findByTitle, findByTitle, findByTitleWithRestrictions, findTitleCache, findUuidAndTitleCacheByMarker, getRights, getSourcedObjectByIdInSource, getSources, getTitleCache, getUuidAndTitleCache, getUuidAndTitleCache, listByIdentifier, listByReferenceTitle, listByReferenceTitleWithRestrictions, listByTitle, listByTitleWithRestrictions, replace, updateCaches, updateCaches
countMarkers, getAnnotations, getMarkers, groupMarkers
getNextAuditEvent, getPreviousAuditEvent, isDeletable, pageAuditEvents, pageAuditEvents
clear, count, delete, delete, delete, exists, find, find, find, find, findById, findWithoutFlush, getSession, group, list, list, load, load, load, loadByIds, loadByIds, loadWithUpdate, lock, merge, merge, merge, merge, page, page, page, pageByParamWithRestrictions, refresh, refresh, save, save, saveOrUpdate, saveOrUpdate, update
load
TaxonBase load(java.util.UUID uuid, java.util.List<java.lang.String> propertyPaths)
uuid
parameter and
recursively initializes all bean properties given in the
propertyPaths
parameter.
For detailed description and examples please refer to:
IBeanInitializer.initialize(Object, List)
NOTE: Also taxa with publish=false
are returned.
java.util.List<TaxonBase> searchByName(java.lang.String name, boolean includeUnpublished, Reference sec)
name
- the name string to search forsec
- the taxons sec referenceUpdateResult swapSynonymAndAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean setNameInSource)
synonym
- acceptedTaxon
- setNameInSource
- UpdateResult changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym) throws HomotypicalGroupChangeException
synonym
- the synonym to change into an accepted taxonacceptedTaxon
- an accepted taxon, the synonym had a relationship todeleteSynonym
- if true the method tries to delete the old synonym from the databasejava.lang.IllegalArgumentException
- if the given accepted taxon and the synonym are homotypic
to each other an exception may be thrown as taxonomically it doesn't
make sense to have two accepted taxa in the same homotypic group
but also it is than difficult to decide how to handle other names
in the homotypic group. It is up to the implementing class to
handle this situation via an exception or in another way.HomotypicalGroupChangeException
UpdateResult changeSynonymToAcceptedTaxon(java.util.UUID synonymUuid, java.util.UUID acceptedTaxonUuid, java.util.UUID newParentNodeUuid, boolean deleteSynonym) throws HomotypicalGroupChangeException
synonymUuid
- acceptedTaxonUuid
- newParentNodeUuid
- deleteSynonym
- HomotypicalGroupChangeException
UpdateResult changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, java.lang.String microReference)
synonym
- the synonym to change into the concept taxontoTaxon
- the taxon the newly created concept should be related totaxonRelationshipType
- the type of relationshipreference
- microReference
- UpdateResult changeRelatedTaxonToSynonym(Taxon fromTaxon, Taxon toTaxon, TaxonRelationshipType oldRelationshipType, SynonymType synonymType) throws DataChangeNoRollbackException
synonym
- the concept taxon to change into a synonymtoTaxon
- the taxon the newly created synonym should be related tooldRelationshipType
- the type of old concept relationshipsynonymRelationshipType
- the type of new synonym relationshipDataChangeNoRollbackException
void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean setBasionymRelationIfApplicable)
targetTaxon
is defined, the synonym is
added to this taxon irrespctive of if it has been related to this
taxon before.setBasionymRelationIfApplicable
is true a basionym relationship
between the existing basionym(s) of the new homotypic group and the synonyms name
is added.synonym
- newHomotypicalGroup
- taxon
- setBasionymRelationIfApplicable
- UpdateResult moveSynonymToAnotherTaxon(Synonym oldSynonym, Taxon newTaxon, boolean moveHomotypicGroup, SynonymType newSynonymType) throws HomotypicalGroupChangeException
oldSynonym
- newTaxon
- moveHomotypicGroup
- newSynonymType
- HomotypicalGroupChangeException
UpdateResult moveSynonymToAnotherTaxon(Synonym oldSynonym, Taxon newTaxon, boolean moveHomotypicGroup, SynonymType newSynonymType, Reference newSecundum, java.lang.String newSecundumDetail, boolean keepSecundumIfUndefined) throws HomotypicalGroupChangeException
oldSynonym
- the old synonym to move.newTaxon
- the taxon the synonym will be moved tomoveHomotypicGroup
- if the synonym belongs to a homotypic group with other synonyms and
moveHomotypicGroup
is true
all these synonyms are moved to the new taxon,
if false
a HomotypicalGroupChangeException
is thrown.
moveHomotypicGroup
has no effect if the synonym is the only synonym in it's homotypic group.newSynonymType
- the synonym type of the new synonyms. Default is
heterotypic
.newSecundum
- The secundum for the new synonyms).newSecundumDetail
- The secundum micro reference for the new synonym(s).keepSecundumIfUndefined
- if no newSecundum
and/or no newSecundumDetail
is defined they are taken from the old synonym(s) if keepSecundumIfUndefined
is
true
. If false
the secundum and the secundum detail will be taken
only from the newSecundum
and newSecundumDetail
even if they are
undefined (null
).moveHomotypicGroup
is true
additionally
created new synonym relationships must be retrieved separately from the new taxon.HomotypicalGroupChangeException
- Exception is thrown if (1) synonym is homotypic to the old accepted taxon or
(2) synonym is in homotypic group with other synonyms and moveHomotypicGroup
is falseUpdateResult moveSynonymToAnotherTaxon(Synonym oldSynonym, java.util.UUID newTaxonUUID, boolean moveHomotypicGroup, SynonymType newSynonymType, Reference newSecundum, java.lang.String newSecundumDetail, boolean keepSecundumIfUndefined) throws HomotypicalGroupChangeException
oldSynonym
- newTaxonUUID
- moveHomotypicGroup
- newSynonymType
- reference
- referenceDetail
- keepReference
- HomotypicalGroupChangeException
#moveSynonymToAnotherTaxon(Synonym, Taxon, boolean, SynonymType, Reference, String, boolean)}
java.util.List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, boolean includeUnpublished, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths)
taxon
- The taxon that is relatedTotype
- The type of TaxonRelationship (can be null)includeUnpublished
- should unpublished related taxa also be returned?pageSize
- The maximum number of relationships returned (can be null for all relationships)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)orderHints
- Properties to order bypropertyPaths
- Properties to initialize in the returned entities, following the syntax described in IBeanInitializer.initialize(Object, List)
Pager<TaxonRelationship> pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, boolean includeUnpublished, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths)
taxon
- The taxon that is relatedTotype
- The type of TaxonRelationship (can be null)includeUnpublished
- should unpublished related taxa also be returned?pageSize
- The maximum number of relationships returned (can be null for all relationships)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)orderHints
- Properties to order bypropertyPaths
- Properties to initialize in the returned entities, following the syntax described in IBeanInitializer.initialize(Object, List)
java.util.List<TaxonRelationship> listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, boolean includeUnpublished, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths)
taxon
- The taxon that is relatedFromtype
- The type of TaxonRelationship (can be null)includeUnpublished
- should unpublished related taxa also be returned?pageSize
- The maximum number of relationships returned (can be null for all relationships)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)orderHints
- Properties to order bypropertyPaths
- Properties to initialize in the returned entities, following the syntax described in IBeanInitializer.initialize(Object, List)
Pager<TaxonRelationship> pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, boolean includeUnpublished, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths)
taxon
- The taxon that is relatedFromtype
- The type of TaxonRelationship (can be null)includeUnpublished
- should unpublished related taxa also be returned?pageSize
- The maximum number of relationships returned (can be null for all relationships)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)orderHints
- Properties to order bypropertyPaths
- Properties to initialize in the returned entities, following the syntax described in IBeanInitializer.initialize(Object, List)
java.util.Set<Taxon> listRelatedTaxa(Taxon taxon, java.util.Set<TaxonRelationshipEdge> includeRelationships, java.lang.Integer maxDepth, boolean includeUnpublished, java.lang.Integer limit, java.lang.Integer start, java.util.List<java.lang.String> propertyPaths)
taxon
given as
parameter.taxon
- includeRelationships
- maxDepth
- 1
for one level, null
for infinite
depth, 0
will completely omit collecting related taxa.limit
- start
- propertyPaths
- java.util.List<TaxonRelationship> listTaxonRelationships(java.util.Set<TaxonRelationshipType> types, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths)
types
- The taxon relationship type filter, if null
no filter is set, if empty the result will also be emptypageSize
- the page sizepageStart
- the number of the pageorderHints
- the order hintspropertyPaths
- the property path to initialize the resulting objectsjava.util.List<Classification> listClassifications(TaxonBase taxonBase, java.lang.Integer limit, java.lang.Integer start, java.util.List<java.lang.String> propertyPaths)
Synonym
taxonBase
- limit
- start
- propertyPaths
- Pager<Synonym> getSynonyms(Taxon taxon, SynonymType type, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths)
taxon
- The accepted taxontype
- The type of Synonym (can be null)pageSize
- The maximum number of synonyms returned (can be null for returning synonyms)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)
* @param orderHints Properties to order bypropertyPaths
- Properties to initialize in the returned entities, following the syntax described in IBeanInitializer.initialize(Object, List)
Synonym
instancesjava.util.List<java.util.List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, java.util.List<java.lang.String> propertyPaths)
getHomotypicSynonymsByHomotypicGroup(Taxon, List)
and
getHeterotypicSynonymyGroups(Taxon, List)
taxon
- the accepted taxonpropertyPaths
- the property path#getSynonyms()
,
SynonymType.HETEROTYPIC_SYNONYM_OF()
,
HomotypicalGroup
java.util.List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, java.util.List<java.lang.String> propertyPaths)
taxon
- propertyPaths
- java.util.List<java.util.List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, java.util.List<java.lang.String> propertyPaths)
homotypical groups
that contain synonyms
that are heterotypic to the given taxon.
Taxon names
of heterotypic synonyms
belong to a homotypical group which cannot be the homotypical group to which the
taxon name of the given taxon belongs. This method does not return the homotypic group the given
taxon belongs to.taxon
- propertyPaths
- #getHeterotypicSynonymyGroups()
,
#getSynonyms()
,
SynonymType.HETEROTYPIC_SYNONYM_OF()
,
HomotypicalGroup
Pager<TaxonBase> search(java.lang.Class<? extends TaxonBase> clazz, java.lang.String queryString, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths)
search
in interface IIdentifiableEntityService<TaxonBase>
clazz
- filter the results by class (or pass null to return all TaxonBase instances)queryString
- pageSize
- The maximum number of taxa returned (can be null for all matching taxa)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)orderHints
- Supports path like orderHints.propertyNames
which
include *-to-one properties like createdBy.username or
authorTeam.persistentTitleCachepropertyPaths
- properties to be initializedPager<TaxonBase> findTaxaByName(java.lang.Class<? extends TaxonBase> clazz, java.lang.String uninomial, java.lang.String infragenericEpithet, java.lang.String specificEpithet, java.lang.String infraspecificEpithet, java.lang.String authorshipCache, Rank rank, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<java.lang.String> propertyPaths)
clazz
- optionally filter by class (can be null to return all taxa)uninomial
- infragenericEpithet
- specificEpithet
- infraspecificEpithet
- rank
- pageSize
- The maximum number of taxa returned (can be null for all matching taxa)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)java.util.List<TaxonBase> listTaxaByName(java.lang.Class<? extends TaxonBase> clazz, java.lang.String uninomial, java.lang.String infragenericEpithet, java.lang.String specificEpithet, java.lang.String infraspecificEpithet, java.lang.String authorshipCache, Rank rank, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<java.lang.String> propertyPaths)
clazz
- optionally filter by classuninomial
- infragenericEpithet
- specificEpithet
- infraspecificEpithet
- rank
- authorshipCache
- pageSize
- The maximum number of taxa returned (can be null for all matching taxa)pageNumber
- The offset (in pageSize chunks) from the start of the result set (0 - based)Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator)
configurator
- @Deprecated Pager<SearchResult<TaxonBase>> findByEverythingFullText(java.lang.String queryString, Classification classification, TaxonNode subtree, boolean includeUnpublished, java.util.List<Language> languages, boolean highlightFragments, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths) throws java.io.IOException, LuceneParseException, LuceneMultiSearchException
#findTaxaAndNamesByFullText(EnumSet, String, Classification, Set, List, boolean, Integer, Integer, List, List)
, maybe we should rename this latter method to give it a more meaningful name#findByDescriptionElementFullText(Class, String, Classification, List, List, boolean, Integer, Integer, List, List)
and {@link #findByFullText(Class, String, Classification, List, boolean, Integer, Integer, List, List)queryString
- the query stringclassification
- Additional filter criterion: If a taxonomic classification
three is specified here the result set will only contain taxa
of the given classificationlanguages
- Additional filter criterion: Search only in these languages.
Not all text fields in the cdm model are multilingual, thus
this setting will only apply to the multilingiual fields.
Other fields are searched nevertheless if this parameter is
set or not.highlightFragments
- TODOpageSize
- The maximum number of objects returned (can be null for all
objects)pageNumber
- The offset (in pageSize chunks) from the start of the result
set (0 - based)orderHints
- Supports path like orderHints.propertyNames
which
include *-to-one properties like createdBy.username or
authorTeam.persistentTitleCachepropertyPaths
- properties to initialize - see
IBeanInitializer.initialize(Object, List)
LuceneCorruptIndexException
java.io.IOException
LuceneParseException
LuceneMultiSearchException
Pager<SearchResult<TaxonBase>> findByFullText(java.lang.Class<? extends TaxonBase> clazz, java.lang.String queryString, Classification classification, TaxonNode subtree, boolean includeUnpublished, java.util.List<Language> languages, boolean highlightFragments, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths) throws java.io.IOException, LuceneParseException
clazz
- Additional filter criterion: The specific TaxonBase subclass
to search forqueryString
- the query stringclassification
- Additional filter criterion: If a taxonomic classification
three is specified here the result set will only contain taxa
of the given classificationlanguages
- Additional filter criterion: Search only in these languages.
Not all text fields in the cdm model are multilingual, thus
this setting will only apply to the multilingiual fields.
Other fields are searched nevertheless if this parameter is
set or not.highlightFragments
- TODOpageSize
- The maximum number of objects returned (can be null for all
objects)pageNumber
- The offset (in pageSize chunks) from the start of the result
set (0 - based)orderHints
- Supports path like orderHints.propertyNames
which
include *-to-one properties like createdBy.username or
authorTeam.persistentTitleCachepropertyPaths
- properties to initialize - see
IBeanInitializer.initialize(Object, List)
LuceneCorruptIndexException
java.io.IOException
LuceneParseException
Pager<SearchResult<TaxonBase>> findByDistribution(java.util.List<NamedArea> areaFilter, java.util.List<PresenceAbsenceTerm> statusFilter, Classification classification, TaxonNode subtree, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths) throws java.io.IOException, LuceneParseException
areaFilter
- statusFilter
- classification
- Additional filter criterion: If a taxonomic classification
three is specified here the result set will only contain taxa
of the given classificationhighlightFragments
- pageSize
- The maximum number of objects returned (can be null for all
objects)pageNumber
- The offset (in pageSize chunks) from the start of the result
set (0 - based)orderHints
- Supports path like orderHints.propertyNames
which
include *-to-one properties like createdBy.username or
authorTeam.persistentTitleCachepropertyPath
- Common properties to initialize the instances of the
CDM types (Taxon
and Synonym
this method can return - see IBeanInitializer.initialize(Object, List)
Taxon
instancesjava.io.IOException
LuceneParseException
Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(java.util.EnumSet<TaxaAndNamesSearchMode> searchModes, java.lang.String queryString, Classification classification, TaxonNode subtree, java.util.Set<NamedArea> namedAreas, java.util.Set<PresenceAbsenceTerm> distributionStatus, java.util.List<Language> languages, boolean highlightFragments, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths) throws java.io.IOException, LuceneParseException, LuceneMultiSearchException
searchModes
- Additional filter criterion: defaults to [doTaxa] if set nullqueryString
- the query stringclassification
- Additional filter criterion: If a taxonomic classification
three is specified here the result set will only contain taxa
of the given classificationsubtree
- namedAreas
- distributionStatus
- languages
- Additional filter criterion: Search only in these languages.
Not all text fields in the cdm model are multilingual, thus
this setting will only apply to the multilingiual fields.
Other fields are searched nevertheless if this parameter is
set or not.highlightFragments
- TODOpageSize
- The maximum number of objects returned (can be null for all
objects)pageNumber
- The offset (in pageSize chunks) from the start of the result
set (0 - based)orderHints
- Supports path like orderHints.propertyNames
which
include *-to-one properties like createdBy.username or
authorTeam.persistentTitleCachepropertyPath
- Common properties to initialize the instances of the
CDM types (Taxon
and Synonym
this method can return - see IBeanInitializer.initialize(Object, List)
Taxon
, Synonym
, matching the queryString and
the additional filter criteriaLuceneCorruptIndexException
java.io.IOException
LuceneParseException
LuceneMultiSearchException
Pager<SearchResult<TaxonBase>> findByDescriptionElementFullText(java.lang.Class<? extends DescriptionElementBase> clazz, java.lang.String queryString, Classification classification, TaxonNode subtree, java.util.List<Feature> features, java.util.List<Language> languages, boolean highlightFragments, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths) throws java.io.IOException, LuceneParseException
clazz
- Additional filter criterion:queryString
- the query string to filter byclassification
- Additional filter criterion: If a taxonomic classification
tree is specified here the result set will only contain taxa
of the given classificationsubtree
- Additional filter criterion: If a taxonomic classification
subtree is specified here the result set will only contain taxa
of the given subtreefeatures
- TODOlanguages
- Additional filter criterion: Search only in these languages.
Not all text fields in the CDM model are multi-lingual, thus
this setting will only apply to the multi-lingual fields.
Other fields are searched nevertheless if this parameter is
set or not.highlightFragments
- TODOpageSize
- The maximum number of objects returned (can be null for all
objects)pageNumber
- The offset (in pageSize chunks) from the start of the result
set (0 - based)orderHints
- Supports path like orderHints.propertyNames
which
include *-to-one properties like createdBy.username or
authorTeam.persistentTitleCachepropertyPaths
- properties to initialize - see
IBeanInitializer.initialize(Object, List)
java.io.IOException
LuceneCorruptIndexException
LuceneParseException
@Deprecated java.util.List<Media> listTaxonDescriptionMedia(Taxon taxon, java.util.Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, java.util.List<java.lang.String> propertyPath)
#listMedia(Taxon, Set, boolean, boolean, List)
insteadtaxon
- includeRelationships
- the given list of TaxonRelationshipEdges will be taken into
account when retrieving media associated with the given taxon.
Can be NULL.limitToGalleries
- whether to take only TaxonDescription into account which are
marked as galleryjava.util.List<Media> listMedia(Taxon taxon, java.util.Set<TaxonRelationshipEdge> includeRelationships, java.lang.Boolean limitToGalleries, java.lang.Boolean includeTaxonDescriptions, java.lang.Boolean includeOccurrences, java.lang.Boolean includeTaxonNameDescriptions, java.util.List<java.lang.String> propertyPath)
taxon
- includeRelationships
- the given list of TaxonRelationshipEdges will be taken into
account when retrieving media associated with the given taxon.
Can be NULL.limitToGalleries
- whether to take only descriptions into account which are
marked as gallery, can be NULLincludeTaxonDescriptions
- whether to take TaxonDescriptions into account, can be NULLincludeOccurrences
- whether to take TaxonDescriptions into account, can be NULLincludeTaxonNameDescriptions
- whether to take TaxonNameDescriptions into account, can be NULLpropertyPath
- java.util.List<TaxonBase> findTaxaByID(java.util.Set<java.lang.Integer> listOfIDs)
TaxonBase findTaxonByUuid(java.util.UUID uuid, java.util.List<java.lang.String> propertyPaths)
uuid
- propertyPaths
- long countSynonyms(boolean onlyAttachedToTaxon)
onlyAttachedToTaxon
- if true
only those synonyms being attached to
an accepted taxon are countedjava.util.Map<java.lang.String,java.util.Map<java.util.UUID,java.util.Set<TaxonName>>> findIdenticalTaxonNames(java.util.List<java.util.UUID> sourceRefUuids, java.util.List<java.lang.String> propertyPaths)
IncludedTaxaDTO listIncludedTaxa(java.util.UUID taxonUuid, IncludedTaxonConfiguration configuration)
taxa
which are congruent
or
included
in the taxon represented by the given taxon uuid.
The result also returns the path to these taxa represented by the uuids of
the taxon relationships types
and doubtful information.
If classificationUuids is set only taxa of classifications are returned which are included
in the given classifications
. ALso the path to these taxa may not include
taxa from other classifications.taxonUuid
- uuid of the original taxonclassificationUuids
- List of uuids of classifications used as a filterincludeDoubtful
- set to true
if also doubtfully included taxa should be included in the resultDeleteResult deleteSynonym(Synonym synonym, SynonymDeletionConfigurator config)
removeNameIfPossible
is true
it also removes the synonym name if it is not used in any other context
(part of a concept, in DescriptionElementSource, part of a name relationship, used inline, ...)newHomotypicGroupIfNeeded
is true
and the synonym name
is not deleted and the name is homotypic to the taxon
the name is moved to a new homotypic group.null
the method has no effect.taxon
- synonym
- removeNameIfPossible
- DeleteResult deleteSynonym(java.util.UUID synonymUuid, SynonymDeletionConfigurator config)
deleteSynonym
methodsynonymUuid
- config
- Taxon findBestMatchingTaxon(java.lang.String taxonName)
tnb
- Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config)
Synonym findBestMatchingSynonym(java.lang.String taxonName, boolean includeUnpublished)
java.util.List<UuidAndTitleCache<? extends IdentifiableEntity>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator)
java.util.List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymType type, boolean doWithMisappliedNames)
taxon
- tree
- java.util.List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames)
taxon
- tree
- iDatabase
- Taxon findAcceptedTaxonFor(java.util.UUID synonymUuid, java.util.UUID classificationUuid, boolean includeUnpublished, java.util.List<java.lang.String> propertyPaths) throws UnpublishedException
UnpublishedException
java.util.List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config)
<S extends TaxonBase> Pager<IdentifiedEntityDTO<S>> findByIdentifier(java.lang.Class<S> clazz, java.lang.String identifier, DefinedTerm identifierType, TaxonNode subtreeFilter, MatchMode matchmode, boolean includeEntity, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<java.lang.String> propertyPaths)
clazz
- the optional TaxonBase
subclassidentifier
- the identifier stringidentifierType
- the identifier typesubtreeFilter
- filter on a classification subtree (TaxonNode)matchmode
- the match mode for the identifier stringincludeEntity
- should the taxon as an object be included in the resultpageSize
- page sizepageNumber
- page numberpropertyPaths
- property path for initializing the returned taxon object (requires includeEntity=true)IdentifiedEntityDTO
pagerIIdentifiableEntityService.findByIdentifier(Class, String, DefinedTerm, MatchMode, boolean, Integer, Integer, List)
<S extends TaxonBase> Pager<MarkedEntityDTO<S>> findByMarker(java.lang.Class<S> clazz, MarkerType markerType, java.lang.Boolean markerValue, TaxonNode subtreeFilter, boolean includeEntity, TaxonTitleType titleType, java.lang.Integer pageSize, java.lang.Integer pageNumber, java.util.List<java.lang.String> propertyPaths)
DTOs
that hold the marker including type, title and uuid
and the according TaxonBase
information (uuid, title and the taxon object itself (optional)).clazz
- The optional TaxonBase
subclassmarkerType
- the obligatory marker type, if not given, the results will always be emptymarkerValue
- the optionalsubtreeFilter
- filter on a classification subtree (TaxonNode)includeEntity
- should the taxon as an object be included in the resulttitleType
- which label to give the returned entity, taxon.titleCache, name.titleCache or name.nameCachepageSize
- page sizepageNumber
- page numberpropertyPaths
- property path for initializing the returned taxon object (requires includeEntity=true)MarkedEntityDTO
pagerIIdentifiableEntityService.findByMarker(Class, MarkerType, Boolean, boolean, Integer, Integer, List)
UpdateResult swapSynonymAndAcceptedTaxon(java.util.UUID synonymUUid, java.util.UUID acceptedTaxonUuid, boolean setNameInSource)
synonymUUid
- acceptedTaxonUuid
- setNameInSource
- DeleteResult deleteTaxon(java.util.UUID taxonUuid, TaxonDeletionConfigurator config, java.util.UUID classificationUuid)
taxonUuid
- config
- classificationUuid
- UpdateResult moveFactualDateToAnotherTaxon(java.util.UUID fromTaxonUuid, java.util.UUID toTaxonUuid)
UpdateResult changeSynonymToRelatedTaxon(java.util.UUID synonymUuid, java.util.UUID toTaxonUuid, TaxonRelationshipType taxonRelationshipType, Reference citation, java.lang.String microcitation)
synonymUuid
- toTaxonUuid
- taxonRelationshipType
- citation
- microcitation
- UpdateResult changeRelatedTaxonToSynonym(java.util.UUID fromTaxonUuid, java.util.UUID toTaxonUuid, TaxonRelationshipType oldRelationshipType, SynonymType synonymType) throws DataChangeNoRollbackException
fromTaxonUuid
- toTaxonUuid
- oldRelationshipType
- synonymType
- DataChangeNoRollbackException
TaxonRelationshipsDTO listTaxonRelationships(java.util.UUID taxonUuid, java.util.Set<TaxonRelationshipType> directTypes, java.util.Set<TaxonRelationshipType> inversTypes, RelationshipBase.Direction direction, boolean groupMisapplications, boolean includeUnpublished, java.lang.Integer pageSize, java.lang.Integer pageNumber)
taxonUuid
- directTypes
- inversTypes
- direction
- groupMisapplications
- includeUnpublished
- pageSize
- pageNumber
- <S extends TaxonBase> Pager<S> page(java.lang.Class<S> clazz, java.util.List<Restriction<?>> restrictions, java.lang.Integer pageSize, java.lang.Integer pageIndex, java.util.List<OrderHint> orderHints, java.util.List<java.lang.String> propertyPaths, boolean includeUnpublished)
clazz
- restrictions
- pageSize
- pageIndex
- orderHints
- propertyPaths
- includeUnpublished
- Copyright © 2007-2020 EDIT. All Rights Reserved.