/android/import-contacts

To get this branch, use:
bzr branch http://bzr.ed.am/android/import-contacts

« back to all changes in this revision

Viewing changes to src/am/ed/importcontacts/Backend.java

  • Committer: edam
  • Date: 2009-01-13 06:35:26 UTC
  • Revision ID: edam@waxworlds.org-20090113063526-l9t1s9git4bav60a
- new contact's phone numebrs and email addresses are added to the caches after those contacts are updated to account for the situation where the same contact is imported again from another file (or the contact exists twice in the same file!?)

Show diffs side-by-side

added added

removed removed

1
 
/*
2
 
 * Backend.java
3
 
 *
4
 
 * Copyright (C) 2012 to 2013 Tim Marston <tim@ed.am>
5
 
 *
6
 
 * This file is part of the Import Contacts program (hereafter referred
7
 
 * to as "this program").  For more information, see
8
 
 * http://ed.am/dev/android/import-contacts
9
 
 *
10
 
 * This program is free software: you can redistribute it and/or modify
11
 
 * it under the terms of the GNU General Public License as published by
12
 
 * the Free Software Foundation, either version 3 of the License, or
13
 
 * (at your option) any later version.
14
 
 *
15
 
 * This program is distributed in the hope that it will be useful,
16
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 
 * GNU General Public License for more details.
19
 
 *
20
 
 * You should have received a copy of the GNU General Public License
21
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
 
 */
23
 
 
24
 
package am.ed.importcontacts;
25
 
 
26
 
import am.ed.importcontacts.Importer.ContactData;
27
 
 
28
 
public interface Backend
29
 
{
30
 
        /**
31
 
         * Build-up our contacts cache, using contacts on the device.
32
 
         *
33
 
         * @param cache the contacts cache to populate
34
 
         */
35
 
        public void populateCache( ContactsCache cache );
36
 
 
37
 
        /**
38
 
         * Delete a contact from the device.
39
 
         *
40
 
         * @param id of the contact to delete
41
 
         */
42
 
        public void deleteContact( Long id );
43
 
 
44
 
        @SuppressWarnings("serial")
45
 
        public class ContactCreationException extends Exception { };
46
 
 
47
 
        /**
48
 
         * Add a contact to the device.
49
 
         *
50
 
         * @param name name of the new contact, or null if there isn't one
51
 
         * @return the new contact's id
52
 
         * @throws ContactCreationException
53
 
         */
54
 
        public Long addContact( String name ) throws ContactCreationException;
55
 
 
56
 
        /**
57
 
         * Add a phone number to an existing contact on the device.
58
 
         *
59
 
         * @param id the existing contact's id
60
 
         * @param number the phone number
61
 
         * @param data data about the number
62
 
         * @throws ContactCreationException
63
 
         */
64
 
        public void addContactPhone( Long id, String number,
65
 
                ContactData.PreferredDetail data ) throws ContactCreationException;
66
 
 
67
 
        /**
68
 
         * Add an email address to an existing contact on the device.
69
 
         *
70
 
         * @param id the existing contact's id
71
 
         * @param email the email address
72
 
         * @param data data about the email address
73
 
         * @throws ContactCreationException
74
 
         */
75
 
        public void addContactEmail( Long id, String email,
76
 
                ContactData.PreferredDetail data ) throws ContactCreationException;
77
 
 
78
 
        /**
79
 
         * Add an address to an existing contact on the device.
80
 
         *
81
 
         * @param id the existing contact's id
82
 
         * @param address the address
83
 
         * @param data data about the address
84
 
         * @throws ContactCreationException
85
 
         */
86
 
        public void addContactAddresses( Long id, String address,
87
 
                ContactData.TypeDetail data ) throws ContactCreationException;
88
 
 
89
 
        /**
90
 
         * Add a title and organisation to an existing contact on the device.
91
 
         *
92
 
         * @param id the existing contact's id
93
 
         * @param organisation the organisation
94
 
         * @param data data about the organisation
95
 
         * @throws ContactCreationException
96
 
         */
97
 
        public void addContactOrganisation( Long id, String organisation,
98
 
                ContactData.ExtraDetail data ) throws ContactCreationException;
99
 
 
100
 
        /**
101
 
         * Add a note to an existing contact on the device.
102
 
         *
103
 
         * @param id the existing contact's id
104
 
         * @param note the note
105
 
         * @throws ContactCreationException
106
 
         */
107
 
        public void addContactNote( Long id, String note )
108
 
                throws ContactCreationException;
109
 
 
110
 
        /**
111
 
         * Add a birthday to an existing contact on the device.
112
 
         *
113
 
         * @param id the existing contact's id
114
 
         * @param birthday the birthday
115
 
         * @throws ContactCreationException
116
 
         */
117
 
        public void addContactBirthday( Long id, String birthday )
118
 
                throws ContactCreationException;
119
 
}