-
Notifications
You must be signed in to change notification settings - Fork 5
/
Doc.java
78 lines (62 loc) · 2.43 KB
/
Doc.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package org.genericsystem.cv.model;
import java.util.List;
import org.genericsystem.api.core.Snapshot;
import org.genericsystem.api.core.annotations.Components;
import org.genericsystem.api.core.annotations.Dependencies;
import org.genericsystem.api.core.annotations.InstanceClass;
import org.genericsystem.api.core.annotations.SystemGeneric;
import org.genericsystem.api.core.annotations.constraints.InstanceValueClassConstraint;
import org.genericsystem.api.core.annotations.constraints.PropertyConstraint;
import org.genericsystem.common.Generic;
import org.genericsystem.cv.model.Doc.DocFilename;
import org.genericsystem.cv.model.Doc.DocFilename.DocFilenameInstance;
import org.genericsystem.cv.model.Doc.DocInstance;
import org.genericsystem.cv.model.DocClass.DocClassInstance;
import org.genericsystem.cv.model.ZoneGeneric.ZoneInstance;
/**
* This class stores the documents that belong to the parent class.
*
* @author Jean Mathorel
* @author Pierrik Lassalas
*
*/
@SystemGeneric
@Dependencies(DocFilename.class)
@Components(DocClass.class)
@InstanceClass(DocInstance.class)
public class Doc implements Generic {
public static class DocInstance implements Generic {
public DocClassInstance getDocClass() {
return (DocClassInstance) this.getBaseComponent();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public List<ZoneInstance> getZones() {
Snapshot<ZoneInstance> shot = (Snapshot) getBaseComponent().getHolders(getRoot().find(ZoneGeneric.class));
return shot.toList();
}
public DocFilenameInstance setDocFilename(String filename) {
return (DocFilenameInstance) setHolder(getRoot().find(DocFilename.class), filename);
}
public DocFilenameInstance getDocFilename(String filename) {
return (DocFilenameInstance) getHolder(getRoot().find(DocFilename.class), filename);
}
}
public DocInstance setDoc(String name, DocClassInstance docClassInstance) {
return (DocInstance) setInstance(name, docClassInstance);
}
public DocInstance getDoc(String name, DocClassInstance docClassInstance) {
return (DocInstance) getInstance(name, docClassInstance);
}
@SystemGeneric
@Components(Doc.class)
@InstanceValueClassConstraint(String.class)
@PropertyConstraint
@InstanceClass(DocFilenameInstance.class)
public static class DocFilename implements Generic {
public static class DocFilenameInstance implements Generic {
public DocInstance getDoc() {
return (DocInstance) getBaseComponent();
}
}
}
}