All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.protege.webprotege.mansyntax.render.ImageLinkRenderer Maven / Gradle / Ivy

The newest version!
package edu.stanford.protege.webprotege.mansyntax.render;

import com.google.common.collect.Sets;

import java.util.Set;

/**
 * @author Matthew Horridge,
 *         Stanford University,
 *         Bio-Medical Informatics Research Group
 *         Date: 21/02/2014
 */
public class ImageLinkRenderer implements LinkRendererPlugin {

    private static final Set extensions = Sets.newHashSet();

    static {
        extensions.add(".png");
        extensions.add(".jpg");
        extensions.add(".jpeg");
        extensions.add(".gif");
        extensions.add(".svg");
        extensions.add(".bmp");
        extensions.add(".png");
    }

    @Override
    public boolean isRenderableAsLink(String link) {
        String lowerCaseLink = link.toLowerCase();
        return isHttpLink(lowerCaseLink) && hasImageExtension(lowerCaseLink);
    }

    private boolean isHttpLink(String link) {
        return link.startsWith("http://") || link.startsWith("https://");
    }

    private boolean hasImageExtension(String link) {
        int lastDotIndex = link.lastIndexOf('.');
        if(lastDotIndex == -1) {
            return false;
        }
        String extension = link.substring(lastDotIndex);
        return extensions.contains(extension);
    }

    @Override
    public LinkInfo renderLink(String link) {
        return new LinkInfo(link,
                    ""
                            + ""
                    + "");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy