1 package fr.ifremer.tutti.ui.swing.util.attachment;
2
3 /*
4 * #%L
5 * Tutti :: UI
6 * %%
7 * Copyright (C) 2012 - 2014 Ifremer
8 * %%
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation, either version 3 of the
12 * License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public
20 * License along with this program. If not, see
21 * <http://www.gnu.org/licenses/gpl-3.0.html>.
22 * #L%
23 */
24
25 import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode;
26 import fr.ifremer.tutti.persistence.entities.data.Attachment;
27
28 import java.io.Serializable;
29 import java.util.Collection;
30 import java.util.List;
31
32 /**
33 * To place on model wich supports attachments.
34 *
35 * @author Tony Chemit - chemit@codelutin.com
36 * @since 1.0.2
37 */
38 public interface AttachmentModelAware extends Serializable {
39
40 String PROPERTY_ATTACHMENT = "attachment";
41
42 String PROPERTY_OBJECT_ID = "objectId";
43
44 ObjectTypeCode getObjectType();
45
46 Integer getObjectId();
47
48 List<Attachment> getAttachment();
49
50 void addAllAttachment(Collection<Attachment> attachments);
51
52 void addAttachment(Attachment attachment);
53
54 void removeAllAttachment(Collection<Attachment> attachments);
55
56 void removeAttachment(Attachment attachment);
57
58 // TODO use it only when jaxx can parse java 8
59 // default boolean isPersisted() {
60 // return getObjectId() != null;
61 // }
62
63 boolean isCreate();
64 }