ProfileComponent.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. /**
  2. * DBSyncer Copyright 2020-2023 All Rights Reserved.
  3. */
  4. package org.dbsyncer.parser;
  5. import org.dbsyncer.connector.enums.ConnectorEnum;
  6. import org.dbsyncer.connector.enums.FilterEnum;
  7. import org.dbsyncer.connector.enums.OperationEnum;
  8. import org.dbsyncer.listener.enums.QuartzFilterEnum;
  9. import org.dbsyncer.parser.enums.ConvertEnum;
  10. import org.dbsyncer.parser.model.ConfigModel;
  11. import org.dbsyncer.parser.model.Connector;
  12. import org.dbsyncer.parser.model.Mapping;
  13. import org.dbsyncer.parser.model.Meta;
  14. import org.dbsyncer.parser.model.ProjectGroup;
  15. import org.dbsyncer.parser.model.SystemConfig;
  16. import org.dbsyncer.parser.model.TableGroup;
  17. import org.dbsyncer.parser.model.UserConfig;
  18. import org.dbsyncer.storage.constant.ConfigConstant;
  19. import org.dbsyncer.storage.enums.StorageDataStatusEnum;
  20. import java.util.List;
  21. /**
  22. * 配置文件组件(system/user/connector/mapping/tableGroup/meta/projectGroup)
  23. * <p>
  24. * {@link ConfigConstant}
  25. *
  26. * @Version 1.0.0
  27. * @Author AE86
  28. * @Date 2023-11-13 20:48
  29. */
  30. public interface ProfileComponent {
  31. /**
  32. * 解析连接器配置为Connector
  33. *
  34. * @param json
  35. * @return
  36. */
  37. Connector parseConnector(String json);
  38. /**
  39. * 解析配置
  40. *
  41. * @param json
  42. * @param clazz
  43. * @param <T>
  44. * @return
  45. */
  46. <T> T parseObject(String json, Class<T> clazz);
  47. /**
  48. * 添加ConfigModel
  49. *
  50. * @param model
  51. * @return id
  52. */
  53. String addConfigModel(ConfigModel model);
  54. /**
  55. * 编辑ConfigModel
  56. *
  57. * @param model
  58. * @return id
  59. */
  60. String editConfigModel(ConfigModel model);
  61. /**
  62. * 刪除ConfigModel
  63. *
  64. * @param id
  65. * @return
  66. */
  67. void removeConfigModel(String id);
  68. /**
  69. * 获取系统配置
  70. *
  71. * @return
  72. */
  73. SystemConfig getSystemConfig();
  74. /**
  75. * 获取用户配置
  76. *
  77. * @return
  78. */
  79. UserConfig getUserConfig();
  80. /**
  81. * 根据ID获取分组配置
  82. *
  83. * @param id
  84. * @return
  85. */
  86. ProjectGroup getProjectGroup(String id);
  87. /**
  88. * 获取所有的分组配置
  89. *
  90. * @return
  91. */
  92. List<ProjectGroup> getProjectGroupAll();
  93. /**
  94. * 根据ID获取连接器
  95. *
  96. * @param connectorId
  97. * @return
  98. */
  99. Connector getConnector(String connectorId);
  100. /**
  101. * 获取所有的连接器
  102. *
  103. * @return
  104. */
  105. List<Connector> getConnectorAll();
  106. // Mapping
  107. Mapping getMapping(String mappingId);
  108. List<Mapping> getMappingAll();
  109. // TableGroup
  110. String addTableGroup(TableGroup model);
  111. String editTableGroup(TableGroup model);
  112. void removeTableGroup(String id);
  113. TableGroup getTableGroup(String tableGroupId);
  114. List<TableGroup> getTableGroupAll(String mappingId);
  115. List<TableGroup> getSortedTableGroupAll(String mappingId);
  116. int getTableGroupCount(String mappingId);
  117. // Meta
  118. Meta getMeta(String metaId);
  119. List<Meta> getMetaAll();
  120. /**
  121. * 获取所有连接器类型
  122. *
  123. * @return
  124. */
  125. List<ConnectorEnum> getConnectorEnumAll();
  126. /**
  127. * 获取所有条件类型
  128. *
  129. * @return
  130. */
  131. List<OperationEnum> getOperationEnumAll();
  132. /**
  133. * 获取过滤条件系统参数
  134. *
  135. * @return
  136. */
  137. List<QuartzFilterEnum> getQuartzFilterEnumAll();
  138. /**
  139. * 获取所有运算符类型
  140. *
  141. * @return
  142. */
  143. List<FilterEnum> getFilterEnumAll();
  144. /**
  145. * 获取所有转换类型
  146. *
  147. * @return
  148. */
  149. List<ConvertEnum> getConvertEnumAll();
  150. /**
  151. * 获取所有同步数据状态类型
  152. *
  153. * @return
  154. */
  155. List<StorageDataStatusEnum> getStorageDataStatusEnumAll();
  156. }