/* * 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 3.0. See RFC 2426 for more detail. *
** This parser allows vCard format which is not allowed in the RFC, since * we have seen several vCard 3.0 files which don't comply with it. *
** e.g. vCard 3.0 does not allow "CHARSET" attribute, but some actual files * have it and they uses non UTF-8 charsets. UTF-8 is recommended in RFC 2426, * but it is not a must. We silently allow "CHARSET". *
*/ public class VCardParser_V30 extends VCardParser { /* package */ static final Set* A unmodifiable Set storing the values for the type "ENCODING", available in the vCard 3.0. *
** Though vCard 2.1 specification does not allow "7BIT" or "BASE64", we allow them for safety. *
** "QUOTED-PRINTABLE" is not allowed in vCard 3.0 and not in this parser either, * because the encoding ambiguates how the vCard file to be parsed. *
*/ /* package */ static final Set