getHref() public method

The location of the resource within the contents folder of the epub file. Example:
images/cover.jpg
content/chapter1.xhtml
public getHref ( ) : string
return string
Esempio n. 1
0
 /// 
 /// <param name="resource"></param>
 /// <param name="allReachableResources"></param>
 private static void addToContentsResult(Resource resource, Dictionary<String, Resource> allReachableResources)
 {
     if (resource != null && (!allReachableResources.ContainsKey(resource.getHref())))
     {
         allReachableResources.Add(resource.getHref(), resource);
     }
 }
 /// 
 /// <param name="uniqueHrefs"></param>
 /// <param name="result"></param>
 /// <param name="tocReferences"></param>
 private static void getAllUniqueResources(List<String> uniqueHrefs, List<Resource> result, List<TOCReference> tocReferences)
 {
     foreach (TOCReference tocReference in tocReferences)
     {
         Resource resource = tocReference.getResource();
         if (resource != null && !uniqueHrefs.Contains(resource.getHref()))
         {
             uniqueHrefs.Add(resource.getHref());
             result.Add(resource);
         }
         getAllUniqueResources(uniqueHrefs, result, tocReference.getChildren());
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Adds a resource to the resources.  Fixes the resources id and href if necessary.
 /// 
 /// </summary>
 /// <param name="resource"></param>
 public Resource add(Resource resource)
 {
     fixResourceHref(resource);
     fixResourceId(resource);
     resources.Add(resource.getHref(), resource);
     return resource;
 }
Esempio n. 4
0
 /// <summary>
 /// Adds a resource to the resources.  Fixes the resources id and href if necessary.
 /// 
 /// </summary>
 /// <param name="resource"></param>
 public Resource add(Resource resource)
 {
     fixResourceHref(resource);
     fixResourceId(resource);
     resources.Add(resource.getHref(), resource);
     return resource;
 }
Esempio n. 5
0
 /// <summary>
 /// The position within the spine of the given resource.
 /// </summary>
 /// something < 0 if not found.
 /// <param name="currentResource"></param>
 public int getResourceIndex(Resource currentResource)
 {
     if (currentResource == null)
     {
         return -1;
     }
     return getResourceIndex(currentResource.getHref());
 }
Esempio n. 6
0
 /// 
 /// <param name="coverPage"></param>
 public void setCoverPage(Resource coverPage)
 {
     if (coverPage == null)
     {
         return;
     }
     if (!resources.containsByHref(coverPage.getHref()))
     {
         resources.add(coverPage);
     }
     guide.setCoverPage(coverPage);
 }
Esempio n. 7
0
 /// 
 /// <param name="coverImage"></param>
 public void setCoverImage(Resource coverImage)
 {
     if (coverImage == null)
     {
         return;
     }
     if (!resources.containsByHref(coverImage.getHref()))
     {
         resources.add(coverImage);
     }
     this.coverImage = coverImage;
 }
Esempio n. 8
0
 /// 
 /// <param name="resource"></param>
 private void fixResourceHref(Resource resource)
 {
     if (StringUtil.isNotBlank(resource.getHref())
            && !resources.ContainsKey(resource.getHref()))
     {
         return;
     }
     if (StringUtil.isBlank(resource.getHref()))
     {
         if (resource.getMediaType() == null)
         {
             throw new ArgumentException("Resource must have either a MediaType or a href");
         }
         int i = 1;
         String href = createHref(resource.getMediaType(), i);
         while (resources.ContainsKey(href))
         {
             href = createHref(resource.getMediaType(), (++i));
         }
         resource.setHref(href);
     }
 }
Esempio n. 9
0
        /// <summary>
        /// Checks the id of the given resource and changes to a unique identifier if it
        /// isn't one already.
        /// </summary>
        /// <param name="resource">resource</param>
        public void fixResourceId(Resource resource)
        {

            string resourceId = resource.getId();
            if (StringUtil.isBlank(resource.getId()))
            {
                resourceId = StringUtil.substringBeforeLast(resource.getHref(), '.');
                resourceId = StringUtil.substringAfterLast(resourceId, '/');
            }

            resourceId = makeValidId(resourceId, resource);

            // check if the id is unique. if not: create one from scratch
            if (StringUtil.isBlank(resourceId) || containsId(resourceId))
            {
                resourceId = createUniqueResourceId(resource);
            }
            resource.setId(resourceId);
        }
        /// 
        /// <param name="packageResource"></param>
        /// <param name="epubReader"></param>
        /// <param name="book"></param>
        /// <param name="resources"></param>
        public static void read(Resource packageResource, EpubReader epubReader, Book book, Resources resources)
        {
            XElement packageDocument = XElement.Load(packageResource.getInputStream());
            String packageHref = packageResource.getHref();
            resources = fixHrefs(packageHref, resources);
            readGuide(packageDocument, epubReader, book, resources);
            System.Collections.Generic.Dictionary<string, string> idMapping = new Dictionary<string, string>();
            resources = readManifest(packageDocument, packageHref, epubReader, resources, idMapping);

            book.setResources(resources);
            readCover(packageDocument, book);
            //  book.setMetadata(PackageDocumentMetadataReader.readMetadata(packageDocument, book.getResources()));
            book.setSpine(readSpine(packageDocument, epubReader, book.getResources(), idMapping));

            // if we did not find a cover page then we make the first page of the book the cover page
            if (book.getCoverPage() == null && book.getSpine().size() > 0)
            {
                book.setCoverPage(book.getSpine().getResource(0));
            }
        }
Esempio n. 11
0
 /// <summary>
 /// The position within the spine of the given resource.
 /// </summary>
 /// something < 0 if not found.
 /// <param name="currentResource"></param>
 public int getResourceIndex(Resource currentResource)
 {
     if (currentResource == null)
     {
         return -1;
     }
     return getResourceIndex(currentResource.getHref());
 }
Esempio n. 12
0
 /// 
 /// <param name="resource"></param>
 private void fixResourceHref(Resource resource)
 {
     if (StringUtil.isNotBlank(resource.getHref())
            && !resources.ContainsKey(resource.getHref()))
     {
         return;
     }
     if (StringUtil.isBlank(resource.getHref()))
     {
         if (resource.getMediaType() == null)
         {
             throw new ArgumentException("Resource must have either a MediaType or a href");
         }
         int i = 1;
         String href = createHref(resource.getMediaType(), i);
         while (resources.ContainsKey(href))
         {
             href = createHref(resource.getMediaType(), (++i));
         }
         resource.setHref(href);
     }
 }
Esempio n. 13
0
        /// <summary>
        /// Checks the id of the given resource and changes to a unique identifier if it
        /// isn't one already.
        /// </summary>
        /// <param name="resource">resource</param>
        public void fixResourceId(Resource resource)
        {
            string resourceId = resource.getId();
            if (StringUtil.isBlank(resource.getId()))
            {
                resourceId = StringUtil.substringBeforeLast(resource.getHref(), '.');
                resourceId = StringUtil.substringAfterLast(resourceId, '/');
            }

            resourceId = makeValidId(resourceId, resource);

            // check if the id is unique. if not: create one from scratch
            if (StringUtil.isBlank(resourceId) || containsId(resourceId))
            {
                resourceId = createUniqueResourceId(resource);
            }
            resource.setId(resourceId);
        }
Esempio n. 14
0
 /// 
 /// <param name="resource"></param>
 /// <param name="allReachableResources"></param>
 private static void addToContentsResult(Resource resource, Dictionary<String, Resource> allReachableResources)
 {
     if (resource != null && (!allReachableResources.ContainsKey(resource.getHref())))
     {
         allReachableResources.Add(resource.getHref(), resource);
     }
 }
Esempio n. 15
0
 /// 
 /// <param name="coverPage"></param>
 public void setCoverPage(Resource coverPage)
 {
     if (coverPage == null)
     {
         return;
     }
     if (!resources.containsByHref(coverPage.getHref()))
     {
         resources.add(coverPage);
     }
     guide.setCoverPage(coverPage);
 }
Esempio n. 16
0
 /// 
 /// <param name="coverImage"></param>
 public void setCoverImage(Resource coverImage)
 {
     if (coverImage == null)
     {
         return;
     }
     if (!resources.containsByHref(coverImage.getHref()))
     {
         resources.add(coverImage);
     }
     this.coverImage = coverImage;
 }