Class VCardResultParser


  • public final class VCardResultParser
    extends ResultParser
    Parses contact information formatted according to the VCard (2.1) format. This is not a complete implementation but should parse information as commonly encoded in 2D barcodes.
    • Field Detail

      • BEGIN_VCARD

        private static final java.util.regex.Pattern BEGIN_VCARD
      • VCARD_LIKE_DATE

        private static final java.util.regex.Pattern VCARD_LIKE_DATE
      • CR_LF_SPACE_TAB

        private static final java.util.regex.Pattern CR_LF_SPACE_TAB
      • NEWLINE_ESCAPE

        private static final java.util.regex.Pattern NEWLINE_ESCAPE
      • VCARD_ESCAPES

        private static final java.util.regex.Pattern VCARD_ESCAPES
      • EQUALS

        private static final java.util.regex.Pattern EQUALS
      • SEMICOLON

        private static final java.util.regex.Pattern SEMICOLON
      • UNESCAPED_SEMICOLONS

        private static final java.util.regex.Pattern UNESCAPED_SEMICOLONS
      • COMMA

        private static final java.util.regex.Pattern COMMA
      • SEMICOLON_OR_COMMA

        private static final java.util.regex.Pattern SEMICOLON_OR_COMMA
    • Constructor Detail

      • VCardResultParser

        public VCardResultParser()
    • Method Detail

      • matchVCardPrefixedField

        static java.util.List<java.util.List<java.lang.String>> matchVCardPrefixedField​(java.lang.CharSequence prefix,
                                                                                        java.lang.String rawText,
                                                                                        boolean trim,
                                                                                        boolean parseFieldDivider)
      • decodeQuotedPrintable

        private static java.lang.String decodeQuotedPrintable​(java.lang.CharSequence value,
                                                              java.lang.String charset)
      • maybeAppendFragment

        private static void maybeAppendFragment​(java.io.ByteArrayOutputStream fragmentBuffer,
                                                java.lang.String charset,
                                                java.lang.StringBuilder result)
      • matchSingleVCardPrefixedField

        static java.util.List<java.lang.String> matchSingleVCardPrefixedField​(java.lang.CharSequence prefix,
                                                                              java.lang.String rawText,
                                                                              boolean trim,
                                                                              boolean parseFieldDivider)
      • toPrimaryValue

        private static java.lang.String toPrimaryValue​(java.util.List<java.lang.String> list)
      • toPrimaryValues

        private static java.lang.String[] toPrimaryValues​(java.util.Collection<java.util.List<java.lang.String>> lists)
      • toTypes

        private static java.lang.String[] toTypes​(java.util.Collection<java.util.List<java.lang.String>> lists)
      • isLikeVCardDate

        private static boolean isLikeVCardDate​(java.lang.CharSequence value)
      • formatNames

        private static void formatNames​(java.lang.Iterable<java.util.List<java.lang.String>> names)
        Formats name fields of the form "Public;John;Q.;Reverend;III" into a form like "Reverend John Q. Public III".
        Parameters:
        names - name values to format, in place
      • maybeAppendComponent

        private static void maybeAppendComponent​(java.lang.String[] components,
                                                 int i,
                                                 java.lang.StringBuilder newName)