nl.siegmann.epublib.domain.Resources.createUniqueResourceId C# (CSharp) Method

createUniqueResourceId() private method

Creates a new resource id that is guarenteed to be unique for this set of Resources
private createUniqueResourceId ( Resource resource ) : string
resource Resource
return string
        private string createUniqueResourceId(Resource resource)
        {
            int counter = lastId;
            if (counter == Int32.MaxValue)
            {
                if (resources.Keys.Count == Int32.MaxValue)
                {
                    throw new ArgumentException("Resources contains " + Int32.MaxValue + " elements: no new elements can be added");
                }
                else
                {
                    counter = 1;
                }
            }
            String prefix = getResourceItemPrefix(resource);
            String result = prefix + counter;
            while (containsId(result))
            {
                result = prefix + (++counter);
            }
            lastId = counter;
            return result;
        }