Package com._1c.g5.v8.dt.common
Class UniqueNameGenerator
- java.lang.Object
-
- com._1c.g5.v8.dt.common.UniqueNameGenerator
-
public class UniqueNameGenerator extends Object
Unique name generator. Generates unique names by adding digits to a given prefix.
-
-
Constructor Summary
Constructors Constructor Description UniqueNameGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringformatNumber(String numberFormat, int number)Format the generated number to string using the given format.Stringgenerate(String namePrefix, Collection<String> existingNames)Generate a unique name, based on the given name prefix and a collection of existing names.Stringgenerate(String namePrefix, Collection<String> existingNames, String numberFormat, Pattern duplicatePattern)Generate unique name, based on the given name prefix and a collection of the existing names.
-
-
-
Method Detail
-
generate
public String generate(String namePrefix, Collection<String> existingNames)
Generate a unique name, based on the given name prefix and a collection of existing names. Default duplicate pattern will be used:.+digit+.Name will be generated as following example: if names
Name1andName2already exist, nameName3will be generated.- Parameters:
namePrefix- the name prefix to generate name with, cannot benullexistingNames- the collection of existing names to check uniqueness for, cannot benull- Returns:
- a unique name, based on the given name prefix and collection of the existing names, never
null
-
generate
public String generate(String namePrefix, Collection<String> existingNames, String numberFormat, Pattern duplicatePattern)
Generate unique name, based on the given name prefix and a collection of the existing names.Custom duplicate-check pattern will be used. Number format can be used to format generated number, before appending it to the generated name.
- Parameters:
namePrefix- the name prefix to generate name with, cannot benullexistingNames- the collection of the existing names to check uniqueness for, cannot benullnumberFormat- the number format to format generated number, before appending it to the generated name;String#formatstyle format is expected with one and only one%s; can benullif number formatting is not neededduplicatePattern- the duplicate-check pattern, cannot benull, must have regexp group with a digit inside it- Returns:
- a unique name, based on the given name prefix and collection of the existing names, never
null
-
formatNumber
protected String formatNumber(String numberFormat, int number)
Format the generated number to string using the given format.- Parameters:
numberFormat- the number format to format generated number, before appending it to the generated name;String#formatstyle format is expected with one and only one%s; can benullif number formatting is not needednumber- the number to format- Returns:
- formatted number, never
null
-
-