16 name_ = std::move(value.
value());
25 aliases_ = std::move(value);
29 std::sort(value.begin(), value.end());
30 value.erase(std::unique(value.begin(), value.end()), value.end());
31 contractIds_ = std::move(value);
39 aliases_.push_back(std::move(value));
60 return aliases_.size();
65 if (value.empty() || std::find(contractIds_.begin(), contractIds_.end(), value) != contractIds_.end()) {
68 contractIds_.push_back(std::move(value));
73 contractIds_.erase(std::remove(contractIds_.begin(), contractIds_.end(), normalized), contractIds_.end());
81 return !contractIds_.empty();
85 return contractIds_.size();
Domain model for properties.
const std::string & value() const noexcept
const std::string & value() const noexcept
void removeAlias(std::string value)
Removes an alias.
const std::string & id() const noexcept
void rename(EntityName value)
Renames the property with normalized entity text.
bool hasContractRelations() const noexcept
Checks whether the property has at least one linked contract.
const std::string & name() const noexcept
void removeContractId(std::string value)
Removes a linked contract identifier.
void setId(std::string value)
const std::vector< Alias > & aliases() const noexcept
void setCreatedAt(std::string value)
const std::string & updatedAt() const noexcept
const std::string & createdAt() const noexcept
std::size_t aliasCount() const noexcept
Returns the number of aliases.
void clearContractIds()
Clears all linked contract identifiers.
bool hasAlias(const std::string &value) const
Checks whether an alias exists on the property.
void setContractIds(std::vector< std::string > value)
Replaces all linked contract identifiers.
void recordAliasHit(std::string value, std::string timestamp={})
Records a usage hit for an alias.
std::size_t contractCount() const noexcept
Returns the number of linked contract identifiers.
void addAlias(Alias value)
Adds a normalized alias when it is not already present.
void clearAliases()
Clears all aliases from the property.
void setUpdatedAt(std::string value)
void addContractId(std::string value)
Adds a linked contract identifier when it is not already present.
const std::vector< std::string > & contractIds() const noexcept
void setAliases(std::vector< Alias > value)
std::string canonicalAliasValue(std::string value)
Canonicalizes an alias string for comparison.
void recordAliasHit(std::vector< Alias > &aliases, const std::string &value, const std::string ×tamp={})
Records or updates a hit for an alias value.
std::string trimCopy(std::string value)
Trims leading and trailing whitespace from text.
void normalizeAliases(std::vector< Alias > &aliases)
Normalizes and deduplicates a list of aliases.
bool containsAliasValue(const std::vector< Alias > &aliases, const std::string &value)
Checks whether an alias list already contains a value.
void removeAliasValue(std::vector< Alias > &aliases, const std::string &value)
Removes aliases with a given value.
void normalizeAlias(Alias &alias)
Normalizes a single alias in place.