Package com.iizix.server.webthumbs
Class WebThumbs
- java.lang.Object
- com.iizix.server.webthumbs.WebThumbs
public class WebThumbs extends java.lang.Object
Class holding all web thumbnails together and requesting only the ones needed.- Author:
- Christopher Mindus
Field Summary
Fields Modifier and Type Field Description static boolean
DEBUG
The debug flag.
Constructor Summary
Constructors Constructor Description WebThumbs(ServerShell server)
Constructor.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.String
fileNameToSite(java.lang.String fileName)
Converts a file name into a potential web site name.WSFileProvider
getFileProvider()
Gets the file provider for thumbnails that are persistent.WebThumbnail
requestWebThumbnail(java.lang.String site)
Requests a new thumbnail for a site.static java.lang.String
siteToFileName(java.lang.String site)
Gets the file name to use in the file provider for a web site thumbnail.static java.lang.String
siteToFileName(java.lang.String site, int width, int height, int quality)
Gets the file name to use in the file provider for a web site thumbnail.static java.lang.String
stringToSite(java.lang.String site)
Converts an URL or email to a potential web site.static java.lang.String
urlToSite(InternetAddress address)
Converts an email address into a potential web site name.static java.lang.String
urlToSite(java.net.URL url)
Converts a URL into a potential web site name.
Field Detail
DEBUG
public static final boolean DEBUG
The debug flag.- See Also:
- Constant Field Values
Constructor Detail
WebThumbs
public WebThumbs(ServerShell server) throws java.io.IOException
Constructor. This constructor should NOT be called directly, it is handled from the Server itself.- Parameters:
server
- The server instance.- Throws:
java.io.IOException
- If the COMMON_PERSISTENT file provider could notjava.lang.IllegalStateException
- If constructor is called outside of the server itself.
Method Detail
siteToFileName
public static java.lang.String siteToFileName(java.lang.String site, int width, int height, int quality)
Gets the file name to use in the file provider for a web site thumbnail.- Parameters:
site
- The web site name, e.g. "oracle.com" or "www.oracle.com".width
- The requested width of the image, range 10-1000.height
- The requested height of the image, range 10-1000.quality
- The quality of the image (0=pixel-perfect as PNG, otherwise 1-100 for JPG quality).- Returns:
- File file name to use as below. File name ends with ".jpg" when
quality
is 1-100, or ".png" whenquality
is zero (loss-less). "website-"+site.toLowerCase()+
"-thumbnail-"+width+
'x'+height+
".jpg". - Throws:
java.lang.IllegalArgumentException
- Ifwidth
is not in range of 10-1000,height
is not in range of 10-1000, orquality
is not in range of 0-100.
siteToFileName
public static java.lang.String siteToFileName(java.lang.String site)
Gets the file name to use in the file provider for a web site thumbnail.- Parameters:
site
- The web site name, e.g. "oracle.com" or "www.oracle.com".- Returns:
- File file name to use as "website-"+site.toLowerCase()+"-thumbnail.png".
fileNameToSite
public static java.lang.String fileNameToSite(java.lang.String fileName)
Converts a file name into a potential web site name.- Parameters:
fileName
- The file name.- Returns:
- The site name, or
null
is doesn't follow the rule"website-"+site.toLowerCase()+"-thumbnail.png"
.
urlToSite
public static java.lang.String urlToSite(java.net.URL url) throws java.net.MalformedURLException
Converts a URL into a potential web site name.- Parameters:
url
- The URL.- Returns:
- The site name, or
null
it cannot be established properly. The protocol is not specified (http/https). - Throws:
java.net.MalformedURLException
- If the address cannot be turned into a web site "URL".
urlToSite
public static java.lang.String urlToSite(InternetAddress address) throws java.net.MalformedURLException
Converts an email address into a potential web site name.- Parameters:
address
- The mail address.- Returns:
- The site name, or
null
it cannot be established properly. The protocol is not specified (http/https). - Throws:
java.net.MalformedURLException
- If the address cannot be turned into a web site "URL".
stringToSite
public static java.lang.String stringToSite(java.lang.String site) throws java.net.MalformedURLException
Converts an URL or email to a potential web site.- Parameters:
site
- The string as a potential site.- Returns:
- The web site name, never null. The protocol is not specified (http/https).
- Throws:
java.net.MalformedURLException
getFileProvider
public WSFileProvider getFileProvider()
Gets the file provider for thumbnails that are persistent.- Returns:
- The file provider.
requestWebThumbnail
public WebThumbnail requestWebThumbnail(java.lang.String site) throws java.net.MalformedURLException, java.lang.IllegalStateException
Requests a new thumbnail for a site. If already present, it will be returned directly, otherwise you might have to wait for it using the
.WebThumbnail.waitForCompletion(Runnable)
- Parameters:
site
- A URL string where the protocol will be stripped.- Returns:
- The instance of a WebThumbnail.
- Throws:
java.net.MalformedURLException
- If the protocol in invalid.java.lang.IllegalStateException
- If the WebThumbs instance is disposed of or was not initialized with a proper API key.