ezvcard.property
Class Logo

java.lang.Object
  extended by ezvcard.property.VCardProperty
      extended by ezvcard.property.BinaryProperty<ImageType>
          extended by ezvcard.property.ImageProperty
              extended by ezvcard.property.Logo
All Implemented Interfaces:
HasAltId, Comparable<VCardProperty>

public class Logo
extends ImageProperty

A company logo.

Adding a logo

 VCard vcard = new VCard();
 
 //URL
 Logo logo = new Logo("http://www.company.com/logo.png", ImageType.PNG);
 vcard.addLogo(logo);
 
 //binary data
 byte data[] = ...
 logo = new Logo(data, ImageType.PNG);
 vcard.addLogo(logo);
 
 //if "ImageType" 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 ImageType("bmp", "image/x-ms-bmp", "bmp");
 logo = new Logo("http://www.company.com/logo.bmp", param);
 vcard.addLogo(logo);
 

Getting the logos

 VCard vcard = ...
 
 int fileCount = 0;
 for (Logo 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 {
     ImageType 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 == ImageType.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++;
   }
 }
 

Property name: LOGO

Supported versions: 2.1, 3.0, 4.0

Author:
Michael Angstadt

Field Summary
 
Fields inherited from class ezvcard.property.BinaryProperty
contentType, data, url
 
Fields inherited from class ezvcard.property.VCardProperty
group, parameters
 
Constructor Summary
Logo(byte[] data, ImageType type)
          Creates a logo property.
Logo(File file, ImageType type)
          Creates a logo property.
Logo(InputStream in, ImageType type)
          Creates a logo property.
Logo(String url, ImageType type)
          Creates a logo property.
 
Method Summary
 String getLanguage()
          Gets the language that the property value is written in.
 void setLanguage(String language)
          Sets the language that the property value is written in.
 
Methods inherited from class ezvcard.property.BinaryProperty
_validate, addPid, getAltId, getContentType, getData, getPids, getPref, getType, getUrl, removePids, setAltId, setContentType, setData, setPref, setType, setUrl
 
Methods inherited from class ezvcard.property.VCardProperty
_supportedVersions, addParameter, compareTo, getGroup, getParameter, getParameters, getParameters, getSupportedVersions, removeParameter, setGroup, setParameter, setParameters, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Logo

public Logo(String url,
            ImageType type)
Creates a logo property.

Parameters:
url - the URL to the logo
type - the content type (e.g. PNG)

Logo

public Logo(byte[] data,
            ImageType type)
Creates a logo property.

Parameters:
data - the binary data of the logo
type - the content type (e.g. PNG)

Logo

public Logo(InputStream in,
            ImageType type)
     throws IOException
Creates a logo property.

Parameters:
in - an input stream to the binary data (will be closed)
type - the content type (e.g. PNG)
Throws:
IOException - if there's a problem reading from the input stream

Logo

public Logo(File file,
            ImageType type)
     throws IOException
Creates a logo property.

Parameters:
file - the image file
type - the content type (e.g. PNG)
Throws:
IOException - if there's a problem reading from the file
Method Detail

getLanguage

public String getLanguage()
Description copied from class: VCardProperty
Gets the language that the property value is written in.

Returns:
the language or null if not set
See Also:
VCardParameters.getLanguage()

setLanguage

public void setLanguage(String language)
Description copied from class: VCardProperty
Sets the language that the property value is written in.

Parameters:
language - the language or null to remove
See Also:
VCardParameters.setLanguage(java.lang.String)


Copyright © 2012-2014 Michael Angstadt. All Rights Reserved.