1 package org.simantics.graph.db;
\r
3 import java.util.Collection;
\r
5 import org.simantics.db.ReadGraph;
\r
6 import org.simantics.db.Resource;
\r
7 import org.simantics.db.WriteOnlyGraph;
\r
8 import org.simantics.db.exception.DatabaseException;
\r
9 import org.simantics.graph.representation.Root;
\r
11 public class WrapperAdvisor implements IImportAdvisor2 {
\r
13 private final IImportAdvisor advisor;
\r
15 public WrapperAdvisor(IImportAdvisor advisor) {
\r
16 this.advisor = advisor;
\r
20 public void redirect(Resource temp) {
\r
21 if(advisor instanceof IImportAdvisor2)
\r
22 ((IImportAdvisor2)advisor).redirect(temp);
\r
26 public Resource getTarget() {
\r
27 if(advisor instanceof IImportAdvisor2)
\r
28 return ((IImportAdvisor2)advisor).getTarget();
\r
33 public Collection<Resource> getRoots() {
\r
34 if(advisor instanceof IImportAdvisor2)
\r
35 return ((IImportAdvisor2)advisor).getRoots();
\r
40 public Collection<RootInfo> getRootInfo() {
\r
41 if(advisor instanceof IImportAdvisor2)
\r
42 return ((IImportAdvisor2)advisor).getRootInfo();
\r
47 public Resource analyzeRoot(ReadGraph graph, Root root) throws DatabaseException {
\r
48 return advisor.analyzeRoot(graph, root);
\r
52 public Resource createRoot(WriteOnlyGraph graph, Root root) throws DatabaseException {
\r
53 return advisor.createRoot(graph, root);
\r
57 public Resource createRoot(WriteOnlyGraph graph, Root root, Resource resource) throws DatabaseException {
\r
58 if(advisor instanceof IImportAdvisor2) {
\r
59 return ((IImportAdvisor2)advisor).createRoot(graph, root, resource);
\r
61 throw new UnsupportedOperationException();
\r
66 public void beforeWrite(WriteOnlyGraph graph, TransferableGraphImporter process)
\r
67 throws DatabaseException {
\r
68 if(advisor instanceof IImportAdvisor2)
\r
69 ((IImportAdvisor2)advisor).beforeWrite(graph, process);
\r
73 public void afterWrite(WriteOnlyGraph graph, TransferableGraphImporter process)
\r
74 throws DatabaseException {
\r
75 if(advisor instanceof IImportAdvisor2)
\r
76 ((IImportAdvisor2)advisor).afterWrite(graph, process);
\r
80 public boolean allowImmutableModifications() {
\r
81 if(advisor instanceof IImportAdvisor2)
\r
82 return ((IImportAdvisor2)advisor).allowImmutableModifications();
\r
88 public Resource createChild(WriteOnlyGraph graph, TransferableGraphImporter process, Resource parent,
\r
89 String name) throws DatabaseException {
\r
90 if(advisor instanceof IImportAdvisor2)
\r
91 return ((IImportAdvisor2)advisor).createChild(graph, process, parent, name);
\r
93 return process.createChild(graph, parent, null, name);
\r
97 public Resource createChild(WriteOnlyGraph graph, TransferableGraphImporter process, Resource parent, Resource child,
\r
98 String name) throws DatabaseException {
\r
99 if(advisor instanceof IImportAdvisor2)
\r
100 return ((IImportAdvisor2)advisor).createChild(graph, process, parent, child, name);
\r
102 return process.createChild(graph, parent, child, name);
\r