14199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa/*
24199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Copyright (C) 2009 The Android Open Source Project
34199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa *
44199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License");
54199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * you may not use this file except in compliance with the License.
64199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * You may obtain a copy of the License at
74199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa *
84199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa *      http://www.apache.org/licenses/LICENSE-2.0
94199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa *
104199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * Unless required by applicable law or agreed to in writing, software
114199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS,
124199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * See the License for the specific language governing permissions and
144199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * limitations under the License.
154199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */
164199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawapackage com.android.vcard;
174199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
184199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa/**
194199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * <p>
204199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * The interface called by {@link VCardEntryConstructor}.
214199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * </p>
224199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * <p>
234199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * This class is useful when you don't want to know vCard data in detail. If you want to know
244199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * it, it would be better to consider using {@link VCardInterpreter}.
254199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa * </p>
264199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa */
274199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawapublic interface VCardEntryHandler {
284199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    /**
294199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa     * Called when the parsing started.
304199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa     */
314199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    public void onStart();
324199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
334199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    /**
3448dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * The method called when one vCard entry is created. Children come before their parent in
3548dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * nested vCard files.
3648dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     *
3748dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * e.g.
3848dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * In the following vCard, the entry for "entry2" comes before one for "entry1".
3948dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * <code>
4048dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * BEGIN:VCARD
4148dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * N:entry1
4248dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * BEGIN:VCARD
4348dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * N:entry2
4448dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * END:VCARD
4548dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * END:VCARD
4648dd8e86a81d2ab40eb762975c8211c225002bf0Daisuke Miyakawa     * </code>
474199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa     */
484199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    public void onEntryCreated(final VCardEntry entry);
494199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa
504199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    /**
514199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa     * Called when the parsing ended.
524199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa     * Able to be use this method for showing performance log, etc.
534199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa     */
544199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa    public void onEnd();
554199c54c527330ac01699b176e7bca186a3aa3a4Daisuke Miyakawa}
56