@startuml

title 元数据结构类图
scale 1.5

abstract class DataNode {
    - 基本字段
    + 获取基本字段()
}

interface DataNodeTransfer {
    + matchTypeKey(String key);
    + DataNode transfer(MetaCore metaCore);
    + MetaCore reTransfer(MetaCore metaCore, T node);
}
class DataNodeTransferService {
    Spring 组件
}

class MetaCorePackage {
    元数据目录
}
class MetaCorePackageTransfer
class MetaCoreRoot{
    元数据根
}
class MetaDataSource {
    元数据 数据源
}
class MetaDataSourceTransfer
class MetaProcedure {
    元数据 反向工程 存储过程
}
class MetaSchema {
    元数据 反向工程 Schema
}
class MetaTable {
    元数据 反向工程 表
}
class MetaView {
    元数据 反向工程 视图
}
class PDM {
    元数据表
}
class PDMTransfer
class PDMColumn {
    元数据 表字段
}
class PDMColumnTransfer

/' 关系 '/
MetaCoreRoot -up-|> DataNode
MetaCorePackage -up-|> DataNode
MetaDataSource -up-|> DataNode
MetaProcedure -up-|> DataNode
MetaSchema -up-|> DataNode
MetaTable -up-|> DataNode
MetaView -up-|> DataNode
PDM -up-|> DataNode
PDMColumn -up-|> DataNode

MetaCorePackage -up-* MetaCorePackageTransfer
MetaDataSource -up-* MetaDataSourceTransfer
PDM -up-* PDMTransfer
PDMColumn -up-* PDMColumnTransfer

MetaCorePackageTransfer -down-|> DataNodeTransfer
MetaDataSourceTransfer -down-|> DataNodeTransfer
PDMTransfer -down-|> DataNodeTransfer
PDMColumnTransfer -down-|> DataNodeTransfer

DataNodeTransfer -up-* DataNodeTransferService
@enduml