1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.jumpmind.symmetric.service;
24
25 import java.util.List;
26
27 import org.jumpmind.symmetric.model.DataEventAction;
28 import org.jumpmind.symmetric.model.Node;
29 import org.jumpmind.symmetric.model.NodeSecurity;
30
31 public interface INodeService {
32
33 public Node findNode(String nodeId);
34
35 public Node findNodeByExternalId(String nodeGroupId, String externalId);
36
37 public NodeSecurity findNodeSecurity(String nodeId);
38
39 public void ignoreNodeChannelForExternalId(boolean ignore, String channelId, String nodeGroupId, String externalId);
40
41 public boolean isNodeAuthorized(String nodeId, String password);
42
43 public void flushNodeAuthorizedCache();
44
45 public boolean isRegistrationEnabled(String nodeId);
46
47 public Node findIdentity();
48
49 public Node findIdentity(boolean useCache);
50
51 public List<Node> findNodesToPull();
52
53 public List<Node> findNodesToPushTo();
54
55 public List<Node> findSourceNodesFor(DataEventAction eventAction);
56
57 public List<Node> findTargetNodesFor(DataEventAction eventAction);
58
59 public boolean isExternalIdRegistered(String nodeGroupId, String externalId);
60
61 public boolean updateNode(Node node);
62
63 public boolean updateNodeSecurity(NodeSecurity security);
64
65 public boolean setInitialLoadEnabled(String nodeId, boolean initialLoadEnabled);
66
67 public String generatePassword();
68
69 /***
70 * Generate the next node ID that is available. Try to use the domain ID as
71 * the node ID.
72 */
73 public String generateNodeId(String nodeGroupId, String externalId);
74
75 }