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.
-
-