一种对象处理方法与设备的制造方法_2

文档序号:9727333阅读:来源:国知局
注信息时,则所述第二装置12据此在所对应的节点树中的节 点中来映射一个对象实例的某一或多个属性。例如,所述第二装置12执行如下代码时,节 点树将呈现图2所示结构。具体地,当所述name参数赋值为topicB、且第二装置12接收到 包含/topics/topicB节点树及topicB节点下的taskCoftopicB字段标注信息的映射标注 信息时,则将对象实例的属性与taskCoftopicB字段标注信息相映射。
[0032]
[0033] 优选地,所述映射标注信息还可包括子节点引用信息"OSubNode",来引用当前节 点的子节点来定义该当前节点的字段。例如若当前节点仅包括一个子节点,假设子节点的 类型为Task,则可以使用如下表述 :
[0034]
[0035] 又如,若当前节点包括多个子节点时,可使用"List"关键字来引用多个字段。接 前段示例,对应于Topic类的对象实例的节点"name",引用其多个类型为partition的子节 点来定义该节点中的相关字段;对应于partition类的对象实例的节点"name",引用其多 个类型为task的子节点来定义该节点中的相关字段。在此,该等由子节点标注的字段被视 为节点树中的一个节点,并通过递归的方式被序列化或去序列化。
[0036] 当所述映射标注信息包括多个所述字段标注信息时,优选地,相邻的所述字段标 注信息通过定界符来间隔。
[0037] 具体地,当ONodeName有多个,或者ONodeName和ONodeSeq同时出现时,它们都会 出现在节点路径的名称里,为了从路径里解析出对应的字段,字段需要有定界符来分割。
[0038] 例如,所述映射标注信息中的字段标注信息为"/consumer/Cc-Dd",所述第二装置 12预设的定界符为则所述第二装置12根据下述Consumer类的定义解析所述字段标 注信息,得到:Cc 为 firstName,Dd 为 lastName。
[0039]
[0040] 则所述第二装置12在consumer节点树中的firstName为Cc、lastName为Dd的节 点处得到所映射的password属性。
[0041] 在此,所述类标注信息包括但不限于:类名等。例如,节点树中的每个节点以一个 对象实例的类名来命名。则当所述映射标注信息包含类标注信息时,所述第二装置12还根 据所述类标注信息将所述对象实例映射为对应应用的节点树。
[0042] 例如,所述第一装置11从Test类的对象实例中的注解类中获取映射标注信息 包括:"/Consumer/Test",则所述第二装置12从根节点为Consumer的节点树中找到"/ Consumer/Test"的节点树,并建立所述Test类的对象实例的属性与Test节点之间的映射 关系。
[0043] 作为一种优选方案,所述第一装置11还对对象实例执行对象操作处理,并对处理 后的所述对象实例添加映射标注信息。
[0044] 具体地,所述第一装置11按照程序设定对对象实例进行增删改等操作处理,当操 作完成后按照设计要求需要将对象实例与节点树中的某一节点进行映射时,所述第一装置 11按照所述对象实例所对应的应用的节点树的设置规则,将处理后的所述对象实例添加映 射标注信息。
[0045] 例如,所述第一装置11中预设了各应用的节点树中各节点的设置规则,其中包 括:按照应用B1中各类的类名+序号的方式来为每个节点命名。所述第一装置11按照创 建指令新增应用B1中的对象实例bl,在创建完成后按照预设的设置规则将对象实例bl添 加"/应用B1的名称/对象实例bl所在类的类名+顺序编号"的映射标注信息。
[0046] 需要说明的是,本领域技术人员应该理解,上述对对象实例进行对象操作处理的 方式、以及添加映射标注信息的方式仅为举例,其他现有的或今后可能出现的对对象实例 进行对象操作处理的方式、以及添加映射标注信息的的方式如可适用于本申请,也应包含 在本申请保护范围以内,并在此以引用方式包含于此。
[0047] 优选地,所述第一装置11还根据对象操作指令对对象实例执行对象操作处理,其 中,处理后的所述对象实例包括与所述对象操作指令相对应的映射标注信息。在此,所述对 象操作指令包括但不限于:增删改对象实例的属性的操作指令、增删改对象实例所对应的 映射标注信息的操作指令。
[0048] 例如,所述第一装置11通过执行如下代码来获取consumer对象实例的映射标注 信息及对象实例的属性。
[0051] 当所述第一装置 11 执行 mapper, save (new Consumer (〃test〃,"123456〃))的对象 操作指令时,不但创建了 一个对象实例,所述对象实例包含"/consumers/test"的映射标注 信息,还在consumer节点树中建立test节点。
[0052] 需要说明的是,本领域技术人员应该理解,上述根据对象操作指令对对象实例执 行对象操作处理仅为举例,其他现有的或今后可能出现的根据对象操作指令对对象实例执 行对象操作处理如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式 包含于此。
[0053] 图3示出了根据本申请的又一种对象处理设备1。所述对象处理设备1包括:第一 装置11、第二装置12及第三装置13。具体地,当所述对象处理设备1所处理的对象实例需 要与相应应用的节点树相映射时,所述第一装置11获取关于对象实例的映射标注信息,再 由所述第二装置12根据所述映射标注信息将所述对象实例映射至对应应用的节点树中的 节点。反过来,当所述对象处理设备1需要通过节点查询对象实例时,所述第三装置13根 据所述映射标注信息,对所述节点树进行匹配查询,确定一个或多个被映射至所述节点树 的对象实例。
[0054] 例如,所要查询的映射标注信息包括:"parent:/consumer/test",则所述第三装 置13通过查询consumer节点树,将父节点为test下的所有节点所对应的对象实例以List 类的方式予以反馈。
[0055] 又如,所述第三装置13通过执行包含如Condition where (Object key, Op op, Object value)的条件语句,来查询相应节点树中的节点,并将所找到的节点所对应的 对象实例予以反馈。需要说明的是,本领域技术人员应该理解,上述根据所述映射标注信 息,对所述节点树进行匹配查询的方式仅为举例,其他现有的或今后可能出现的根据所述 映射标注信息,对所述节点树进行匹配查询的方式如可适用于本申请,也应包含在本申请 保护范围以内,并在此以引用方式包含于此。
[0056] 图4示出根据本申请一个方面的一种对象处理方法。其中,所述对象处理方法主 要由对象处理设备来执行。所述对象处理设备在此,所述对象处理设备可由网络主机、单个 网络服务器、多个网络服务器集或个人计算机等实现。本领域技术人员应能理解上述对象 处理设备仅为举例,其他现有的或今后可能出现的对象处理设备如可适用于本申请,也应 包含在本申请保护范围以内,并在此以引用方式包含于此。在此,所述对象处理设备包括一 种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包 括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌 入式设备等。
[0057] 具体地,在步骤S1中,所述对象处理设备获取关于对象实例的映射标注信息。接 着,在步骤S2中,所述对象处理设备根据所述映射标注信息将所述对象实例映射至对应应 用的节点树。
[0058] 具体地,在面向对象的程序运行中,所述对象处理设备从对象实例中所携带的注 解中获取关于所述对象实例的映射标注信息。接着,所述对象处理设备根据所述映射标注 信息中所提供的信息来确定相应应用的节点树,并将所述对象实例与所述节点树相映射。
[0059] 例如,所述对象处理设备从一对象实例中的ONode注解类中获得的映射标注信 息中包括"/Consumer",接着,所述对象处理设备根
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1