|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectezvcard.types.VCardType
ezvcard.types.BinaryType<ImageTypeParameter>
ezvcard.types.LogoType
public class LogoType
A company logo.
Adding a logo
VCard vcard = new VCard();
//URL
LogoType logo = new LogoType("http://www.company.com/logo.png", ImageTypeParameter.PNG);
vcard.addLogo(logo);
//binary data
byte data[] = ...
logo = new LogoType(data, ImageTypeParameter.PNG);
vcard.addLogo(logo);
//if "ImageTypeParameter" does not have the pre-defined constant that you need, then create a new instance
//arg 1: the value of the 2.1/3.0 TYPE parameter
//arg 2: the value to use for the 4.0 MEDIATYPE parameter and for 4.0 data URIs
//arg 3: the file extension of the data type (optional)
ImageKeyTypeParameter param = new ImageTypeParameter("bmp", "image/x-ms-bmp", "bmp");
logo = new LogoType("http://www.company.com/logo.bmp", param);
vcard.addLogo(logo);
Getting the logos
VCard vcard = ...
int fileCount = 0;
for (LogoType logo : vcard.getLogos()){
//the logo will have either a URL or a binary data
if (logo.getData() == null){
System.out.println("Logo URL: " + logo.getUrl());
} else {
ImageTypeParameter type = logo.getContentType();
if (type == null) {
//the vCard may not have any content type data associated with the logo
System.out.println("Saving a logo file...");
} else {
System.out.println("Saving a \"" + type.getMediaType() + "\" file...");
}
String folder;
if (type == ImageTypeParameter.PNG){ //it is safe to use "==" instead of "equals()"
folder = "png-files";
} else {
folder = "image-files";
}
byte data[] = logo.getData();
String filename = "logo" + fileCount;
if (type != null && type.getExtension() != null){
filename += "." + type.getExtension();
}
OutputStream out = new FileOutputStream(new File(folder, filename));
out.write(data);
out.close();
fileCount++;
}
}
vCard property name: LOGO
vCard versions: 2.1, 3.0, 4.0
| Field Summary | |
|---|---|
static String |
NAME
|
| Fields inherited from class ezvcard.types.BinaryType |
|---|
contentType, data, url |
| Fields inherited from class ezvcard.types.VCardType |
|---|
group, subTypes, typeName |
| Constructor Summary | |
|---|---|
LogoType()
|
|
LogoType(byte[] data,
ImageTypeParameter type)
|
|
LogoType(File file,
ImageTypeParameter type)
|
|
LogoType(InputStream in,
ImageTypeParameter type)
|
|
LogoType(String url,
ImageTypeParameter type)
|
|
| Method Summary | |
|---|---|
protected ImageTypeParameter |
buildMediaTypeObj(String mediaType)
Builds a MediaTypeParameter object based on the information in
the MEDIATYPE parameter or data URI of 4.0 vCards. |
protected ImageTypeParameter |
buildTypeObj(String type)
Builds a MediaTypeParameter object based on the value of the TYPE
parameter in 2.1/3.0 vCards. |
protected void |
doUnmarshalHtml(HCardElement element,
List<String> warnings)
Unmarshals the type from an hCard (HTML document). |
String |
getLanguage()
Gets the language that the address is written in. |
void |
setLanguage(String language)
Sets the language that the address is written in. |
| Methods inherited from class ezvcard.types.BinaryType |
|---|
addPid, cannotUnmarshalValue, doMarshalSubTypes, doMarshalText, doMarshalXml, doUnmarshalText, doUnmarshalXml, getAltId, getContentType, getData, getPids, getPref, getType, getUrl, removePids, setAltId, setContentType, setData, setPref, setType, setUrl |
| Methods inherited from class ezvcard.types.VCardType |
|---|
compareTo, getGroup, getQName, getSubTypes, getSupportedVersions, getTypeName, marshalSubTypes, marshalText, marshalXml, setGroup, unmarshalHtml, unmarshalText, unmarshalXml |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String NAME
| Constructor Detail |
|---|
public LogoType()
public LogoType(String url,
ImageTypeParameter type)
url - the URL to the logotype - the content type (e.g. PNG)
public LogoType(byte[] data,
ImageTypeParameter type)
data - the binary data of the logotype - the content type (e.g. PNG)
public LogoType(InputStream in,
ImageTypeParameter type)
throws IOException
in - an input stream to the binary data (will be closed)type - the content type (e.g. PNG)
IOException - if there's a problem reading from the input stream
public LogoType(File file,
ImageTypeParameter type)
throws IOException
file - the image filetype - the content type (e.g. PNG)
IOException - if there's a problem reading from the file| Method Detail |
|---|
public String getLanguage()
VCardSubTypes.getLanguage()public void setLanguage(String language)
language - the language or null to removeVCardSubTypes.setLanguage(java.lang.String)
protected void doUnmarshalHtml(HCardElement element,
List<String> warnings)
VCardType
doUnmarshalHtml in class BinaryType<ImageTypeParameter>element - the HTML element that contains the type data.warnings - allows the programmer to alert the user to any
note-worthy (but non-critical) issues that occurred during the
unmarshalling processprotected ImageTypeParameter buildTypeObj(String type)
BinaryTypeMediaTypeParameter object based on the value of the TYPE
parameter in 2.1/3.0 vCards.
buildTypeObj in class BinaryType<ImageTypeParameter>type - the TYPE value
protected ImageTypeParameter buildMediaTypeObj(String mediaType)
BinaryTypeMediaTypeParameter object based on the information in
the MEDIATYPE parameter or data URI of 4.0 vCards.
buildMediaTypeObj in class BinaryType<ImageTypeParameter>mediaType - the media type string (e.g. "image/jpeg")
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||