📄 hibernatemappingscanner.java
字号:
elemAtrr.setRequired(true); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("proxy",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("discriminator-value",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("dynamic-update",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("dynamic-insert",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); addAllAttributes("subclass",attr.getAllAttributes()); } if(this.getAllChildElements("subclass")!=null){ attr.setAllChildElement(getAllChildElements("subclass")); }else{ attr.addChildElement("subclass"); attr.addChildElement("property"); attr.addChildElement("many-to-one"); attr.addChildElement("one-to-one"); attr.addChildElement("any"); attr.addChildElement("component"); attr.addChildElement("map"); attr.addChildElement("set"); attr.addChildElement("bag"); attr.addChildElement("idbag"); attr.addChildElement("list"); attr.addChildElement("array"); attr.addChildElement("primitive-array"); attr.addChildElement("meta"); addAllChildElements("subclass",attr.getAllChildElement()); } HibernateTreeParent subclassObj =dealObject(attr,root,"subclass",HibernateTreeObject.HIBERNATE_SUBCLASS,"name"); org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.ELEMENT_NODE : org.w3c.dom.Element nodeElement = (org.w3c.dom.Element) node; if (nodeElement.getTagName().equals("subclass")) { visitElement_subclass(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("property")) { visitElement_property(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("many-to-one")) { visitElement_many_to_one(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("one-to-one")) { visitElement_one_to_one(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("any")) { visitElement_any(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("component")) { visitElement_component(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("map")) { visitElement_map(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("set")) { visitElement_set(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("bag")) { visitElement_bag(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("idbag")) { visitElement_idbag(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("list")) { visitElement_list(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("array")) { visitElement_array(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("primitive-array")) { visitElement_primitive_array(nodeElement,subclassObj); } if (nodeElement.getTagName().equals("meta")) { visitElement_meta(nodeElement,subclassObj); } break; } } } /** Scan through org.w3c.dom.Element named joined-subclass. */ void visitElement_joined_subclass( org.w3c.dom.Element element,HibernateTreeParent root) { // <joined-subclass> HibernateElementAttributes attr = new HibernateElementAttributes(element); if(getAllAttributes("joined-subclass")!=null){ attr.setAllAttributes(getAllAttributes("joined-subclass")); }else{ //增加改element所有可能存在的属性 ElementAttribute elemAtrr = new ElementAttribute("name",ElementAttribute.STRING); elemAtrr.setRequired(true); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("proxy",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("schema",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("table",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("dynamic-update",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("dynamic-insert",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); addAllAttributes("joined-subclass",attr.getAllAttributes()); } if(this.getAllChildElements("joined-subclass")!=null){ attr.setAllChildElement(getAllChildElements("joined-subclass")); }else{ attr.addChildElement("joined-subclass"); attr.addChildElement("property"); attr.addChildElement("many-to-one"); attr.addChildElement("one-to-one"); attr.addChildElement("any"); attr.addChildElement("component"); attr.addChildElement("map"); attr.addChildElement("set"); attr.addChildElement("bag"); attr.addChildElement("idbag"); attr.addChildElement("list"); attr.addChildElement("array"); attr.addChildElement("primitive-array"); attr.addChildElement("key"); attr.addChildElement("meta"); addAllChildElements("joined-subclass",attr.getAllChildElement()); } HibernateTreeParent joinedclassObj =dealObject(attr,root,"joined-subclass",HibernateTreeObject.HIBERNATE_JOINED_SUBCLASS,"name"); org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.ELEMENT_NODE : org.w3c.dom.Element nodeElement = (org.w3c.dom.Element) node; if (nodeElement.getTagName().equals("joined-subclass")) { visitElement_joined_subclass(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("property")) { visitElement_property(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("many-to-one")) { visitElement_many_to_one(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("one-to-one")) { visitElement_one_to_one(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("any")) { visitElement_any(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("component")) { visitElement_component(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("map")) { visitElement_map(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("set")) { visitElement_set(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("bag")) { visitElement_bag(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("idbag")) { visitElement_idbag(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("list")) { visitElement_list(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("array")) { visitElement_array(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("primitive-array")) { visitElement_primitive_array(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("key")) { visitElement_key(nodeElement,joinedclassObj); } if (nodeElement.getTagName().equals("meta")) { visitElement_meta(nodeElement,joinedclassObj); } break; } } } /** Scan through org.w3c.dom.Element named property. */ void visitElement_property( org.w3c.dom.Element element, HibernateTreeParent root) { // <property> HibernateElementAttributes attr = new HibernateElementAttributes(element); if(getAllAttributes("property")!=null){ attr.setAllAttributes(getAllAttributes("property")); }else{ //增加改element所有可能存在的属性 ElementAttribute elemAtrr = new ElementAttribute("name",ElementAttribute.STRING); elemAtrr.setRequired(true); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("type",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("column",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("length",ElementAttribute.INTEGER); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("not-null",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("unique",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("update",ElementAttribute.BOOLEAN); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("insert",ElementAttribute.BOOLEAN); attr.addAttribute(elemAtrr); addAllAttributes("property",attr.getAllAttributes()); } if(this.getAllChildElements("property")!=null){ attr.setAllChildElement(getAllChildElements("property")); }else{ attr.addChildElement("column"); attr.addChildElement("meta"); addAllChildElements("property",attr.getAllChildElement()); } HibernateTreeParent ppObj =dealObject(attr,root,"property",HibernateTreeObject.HIBERNATE_PROPERTY,"name"); org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.ELEMENT_NODE : org.w3c.dom.Element nodeElement = (org.w3c.dom.Element) node; if (nodeElement.getTagName().equals("column")) { visitElement_column(nodeElement,ppObj); } if (nodeElement.getTagName().equals("meta")) { visitElement_meta(nodeElement,ppObj); } break; } } } /** Scan through org.w3c.dom.Element named many-to-one. */ void visitElement_many_to_one( org.w3c.dom.Element element,HibernateTreeParent root) { // <many-to-one> HibernateElementAttributes attr = new HibernateElementAttributes(element); if(getAllAttributes("many-to-one")!=null){ attr.setAllAttributes(getAllAttributes("many-to-one")); }else{ //增加改element所有可能存在的属性 ElementAttribute elemAtrr = new ElementAttribute("name",ElementAttribute.STRING); elemAtrr.setRequired(true); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("class",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("column",ElementAttribute.STRING); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("not-null",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("unique",ElementAttribute.BOOLEAN); elemAtrr.setDefaultData("false"); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("cascade",ElementAttribute.ENUM); elemAtrr.setEnumData(new String[]{"none","all","save-update","delete"}); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("outer-join",ElementAttribute.ENUM); elemAtrr.setEnumData(new String[]{"true","false","auto"},"auto"); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("update",ElementAttribute.BOOLEAN); attr.addAttribute(elemAtrr); elemAtrr = new ElementAttribute("insert",ElementAttribute.BOOLEAN); attr.addAttribute(elemAtrr); addAllAttributes("many-to-one",attr.getAllAttributes()); } if(this.getAllChildElements("many-to-one")!=null){ attr.setAllChildElement(getAllChildElements("many-to-one")); }else{ attr.addChildElement("column"); attr.addChildElement("meta"); addAllChildElements("many-to-one",attr.getAllChildElement()); } HibernateTreeParent mtoObj =dealObject(attr,root,"many-to-one",HibernateTreeObject.HIBERNATE_MANY_TO_ONE,"name"); org.w3c.dom.NodeList nodes = element.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { org.w3c.dom.Node node = nodes.item(i); switch (node.getNodeType()) { case org.w3c.dom.Node.ELEMENT_NODE : org.w3c.dom.Element nodeElement = (org.w3c.dom.Element) node; if (nodeElement.getTagName().equals("column")) { visitElement_column(nodeElement,mtoObj); } if (nodeElement.getTagName().equals("meta")) { visitElement_meta(nodeElement,mtoObj); } break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -