/* * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.vcard; import com.android.vcard.exception.VCardException; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** *
* vCard parser for vCard 2.1. See the specification for more detail about the spec itself. * ** The spec is written in 1996, and currently various types of "vCard 2.1" exist. * To handle real the world vCard formats appropriately and effectively, this class does not * obey with strict vCard 2.1. * In stead, not only vCard spec but also real world vCard is considered. *
* e.g. A lot of devices and softwares let vCard importer/exporter to use * the PNG format to determine the type of image, while it is not allowed in * the original specification. As of 2010, we can see even the FLV format * (possible in Japanese mobile phones). * */ public final class VCardParser_V21 extends VCardParser { /** * A unmodifiable Set storing the property names available in the vCard 2.1 specification. */ /* package */ static final Set* A unmodifiable Set storing the values for the type "ENCODING", available in the vCard 2.1. *
** Though vCard 2.1 specification does not allow "B" encoding, some data may have it. * We allow it for safety. *
*/ /* package */ static final Set