Class BaseExternalIdGenerator
- java.lang.Object
-
- jetbrains.buildServer.serverSide.identifiers.BaseExternalIdGenerator
-
- All Implemented Interfaces:
ExternalIdGenerator
- Direct Known Subclasses:
BaseIdentifiersManager
public abstract class BaseExternalIdGenerator extends Object implements ExternalIdGenerator
- Since:
- 8.0
- Author:
- Leonid Bushuev from JetBrains
-
-
Constructor Summary
Constructors Constructor Description BaseExternalIdGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
externalIdSatisfiesConvention(String externalId, String entityName, String parentExtId)
Returns true if provided external id satisfies convention used to generate new idsString
generateNewExternalId(String parentExtId, String name, Set<String> excludeAdditionalIds)
Generates a new external id based on the given name and (optionally) parent external id.String
generateNewExternalId(String parentExtId, String name, Set<String> excludeAdditionalIds, boolean adjustCase)
Generates a new external id based on the given name and (optionally) parent external id.static String
generateNewId(String parentExtId, String name, boolean adjustCase, OccupiedIdsChecker occupiedIdsChecker)
static String
generateNewId(String parentExtId, String name, OccupiedIdsChecker occupiedIdsChecker)
protected abstract boolean
isExternalIdOccupied(String newExtId)
String
regenerateExternalId(String parentExtId, String name, String currentExternalId)
Regenerates an external id based on the given name and (optionally) parent external id.
-
-
-
Method Detail
-
isExternalIdOccupied
protected abstract boolean isExternalIdOccupied(@NotNull String newExtId)
-
generateNewExternalId
@NotNull public String generateNewExternalId(@Nullable String parentExtId, @NotNull String name, @Nullable Set<String> excludeAdditionalIds)
Description copied from interface:ExternalIdGenerator
Generates a new external id based on the given name and (optionally) parent external id. May adjust the case of the name part of the id to comply with external id conventions- Specified by:
generateNewExternalId
in interfaceExternalIdGenerator
- Parameters:
parentExtId
- the parent's external identifier (optional).name
- the user string (name).excludeAdditionalIds
- an additional set of ids that are already used (i.e. the result should not be one of them). The current assigned external ids are excluded by default.- Returns:
- new external id
-
generateNewExternalId
@NotNull public String generateNewExternalId(@Nullable String parentExtId, @NotNull String name, @Nullable Set<String> excludeAdditionalIds, boolean adjustCase)
Description copied from interface:ExternalIdGenerator
Generates a new external id based on the given name and (optionally) parent external id.- Specified by:
generateNewExternalId
in interfaceExternalIdGenerator
- Parameters:
parentExtId
- the parent's external identifier (optional).name
- the user string (name).excludeAdditionalIds
- an additional set of ids that are already used (i.e. the result should not be one of them). The current assigned external ids are excluded by default.adjustCase
- If true, the method is allowed to adjust the case of the name part of the external id- Returns:
- new external id
-
regenerateExternalId
@NotNull public String regenerateExternalId(@Nullable String parentExtId, @NotNull String name, @NotNull String currentExternalId)
Description copied from interface:ExternalIdGenerator
Regenerates an external id based on the given name and (optionally) parent external id. The current external id is not taken into account, so the result can be the current id (but with another case).- Specified by:
regenerateExternalId
in interfaceExternalIdGenerator
- Parameters:
parentExtId
- the parent's external identifier (optional).name
- the user string (name).currentExternalId
- the external id an object currently has- Returns:
- new external id
-
externalIdSatisfiesConvention
public boolean externalIdSatisfiesConvention(@NotNull String externalId, @NotNull String entityName, @NotNull String parentExtId)
Description copied from interface:ExternalIdGenerator
Returns true if provided external id satisfies convention used to generate new ids- Specified by:
externalIdSatisfiesConvention
in interfaceExternalIdGenerator
- Parameters:
externalId
- external ids to checkentityName
- name of the entity whose external id is to be verifiedparentExtId
- parent external id- Returns:
- see above
-
generateNewId
public static String generateNewId(@Nullable String parentExtId, @NotNull String name, @NotNull OccupiedIdsChecker occupiedIdsChecker)
-
generateNewId
public static String generateNewId(@Nullable String parentExtId, @NotNull String name, boolean adjustCase, @NotNull OccupiedIdsChecker occupiedIdsChecker)
-
-