您现在的位置是:主页 > news > 建设部网站企业资质/营销方案的几个要素
建设部网站企业资质/营销方案的几个要素
admin2025/4/27 15:27:54【news】
简介建设部网站企业资质,营销方案的几个要素,政府重视乡村网站建设,开发一套电商网站多少钱发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产…
发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967
课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。
腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518
第二个视频发布 https://edu.csdn.net/course/detail/27109
腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518
介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。
第三个视频发布:https://edu.csdn.net/course/detail/27574
详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件
————————————————
数据校验要校验每个字段还有头和尾。
校验包过数据类型校验,特殊值校验。
数据类型校验统一写,特殊值校验写在每个消息实体里。
数据校验采用递归的方式,减少代码编写难度。
Tag类(类型校验没写完,有些特殊类型暂时没写):
package cs.mina.codec.msg;import java.util.HashSet;
import java.util.Set;import cs.mina.exception.InValidDataException;/**@author(huangxiaoping)*@date 2013-10-24*/
public class Tag {private String tagId;private String tagValue;private String format;private boolean must;public boolean isTagIdInThisObject(String tagId){if(tagId.equals(this.tagId)){return true;}else {return false;}}public String encode(){if(tagValue==null){return "";}return this.tagId+"="+this.tagValue+BaseMsg.SOH;}public String decode(String input,Set<String> already){String myItem=input.substring(0, input.indexOf(BaseMsg.SOH));String returnStr=input.substring(input.indexOf(BaseMsg.SOH)+1);String [] tagItems=myItem.split("=");if(tagItems.length!=2){throw new InValidDataException("消息格式错误");}if(already.contains(tagId)){throw new InValidDataException(tagId+"消息已被解析");}if(this.getTagId().equals(tagItems[0])){this.tagValue=tagItems[1];already.add(tagItems[0]);return returnStr;}else{throw new InValidDataException("解析错误["+tagId+"-"+tagItems[0]+"]");}}public Tag(String tagId,String format,boolean must){this.tagId=tagId;this.format=format;this.must=must;}public void validate(){if(must){if(tagValue==null){throw new InValidDataException(tagId+"的值不可以为空");}else{if(format==null){throw new InValidDataException("format的不可以为空");}else{if(format.equals("int")){try{Integer.parseInt(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值不是int类型");}}else if(format.equals("Length")){try{int value=Integer.parseInt(tagValue);if(value<=0){throw new InValidDataException(tagId+"-"+tagValue+":值(Length)不是正的int类型");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Length)不是int类型");}}else if(format.equals("TagNum")){try{if(tagValue.startsWith("0")){throw new InValidDataException(tagId+"-"+tagValue+":TagNum类型不能以0开头");}int value=Integer.parseInt(tagValue);if(value<=0){throw new InValidDataException(tagId+"-"+tagValue+":值(TagNum)不是正的int类型");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TagNum)不是int类型");}}else if(format.equals("SeqNum")){try{int value=Integer.parseInt(tagValue);if(value<0){throw new InValidDataException(tagId+"-"+tagValue+":值(SeqNum)小于0");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(SeqNum)不是int类型");}}else if(format.equals("NumInGroup")){try{int value=Integer.parseInt(tagValue);if(value<=0){throw new InValidDataException(tagId+"-"+tagValue+":值(NumInGroup)不是正的int类型");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(NumInGroup)不是int类型");}}else if(format.equals("DayOfMonth")){try{int value=Integer.parseInt(tagValue);if(!(value<=31&&value>=1)){throw new InValidDataException(tagId+"-"+tagValue+":值(DayOfMonth)不在1和31之间");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(DayOfMonth)不是int类型");}}else if(format.equals("float")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(float)不是float类型");}}else if(format.equals("Qty")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Qty)不是float类型");}}else if(format.equals("Price")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Price)不是float类型");}}else if(format.equals("PriceOffset")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(PriceOffset)不是float类型");}}else if(format.equals("Amt")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Amt)不是float类型");}}else if(format.equals("Percentage")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Percentage)不是float类型");}}else if(format.equals("char")){if(tagValue.length()>1||tagValue.length()==0){throw new InValidDataException(tagId+"-"+tagValue+":值(char)长度大于1或等于0");}if(tagValue.equals(BaseMsg.SOH)){throw new InValidDataException(tagId+"-"+tagValue+":值(char)不能是分隔符");}}else if(format.equals("Boolean")){if(tagValue.length()>1||tagValue.length()==0){throw new InValidDataException(tagId+"-"+tagValue+":值(Boolean)长度大于1或等于0");}if(!(tagValue.equals("N")||tagValue.equals("Y"))){throw new InValidDataException(tagId+"-"+tagValue+":值(Boolean)不是N或Y");}}else if(format.equals("String")){int index=tagValue.indexOf(BaseMsg.SOH);if(index!=-1){throw new InValidDataException(tagId+"-"+tagValue+":值(String)不能包含分隔符");}}else if(format.equals("MultipleCharValue")){int index=tagValue.indexOf(BaseMsg.SOH);if(index!=-1){throw new InValidDataException(tagId+"-"+tagValue+":值(String)不能包含分隔符");}String[] valueArray=tagValue.split(" ");for(int i=0;i<valueArray.length;i++){String value=valueArray[i];if(value.length()>1){throw new InValidDataException(tagId+"-"+tagValue+":值(MultipleCharValue)包含String小单元了");}}}else if(format.equals("MultipleStringValue")){int index=tagValue.indexOf(BaseMsg.SOH);if(index!=-1){throw new InValidDataException(tagId+"-"+tagValue+":值(String)不能包含分隔符");}}else if(format.equals("Country")){if(tagValue.length()!=2){throw new InValidDataException(tagId+"-"+tagValue+":值(Country)长度错误");}//TODO country比较}else if(format.equals("Currency")){if(tagValue.length()!=3){throw new InValidDataException(tagId+"-"+tagValue+":值(Currency)长度错误");}//TODO Currency比较}else if(format.equals("Exchange")){ //TODO Exchange}else if(format.equals("MonthYear")){ if(!(tagValue.length()==6||tagValue.length()==8)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)长度错误");}String year=tagValue.substring(0, 4);String month=tagValue.substring(4, 6);if(tagValue.length()==8){String weekOrDay=tagValue.substring(6, 8);try{int y= Integer.parseInt(year);if(y<0){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}try{int mon= Integer.parseInt(month);if(!(mon>=1&&mon<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}if(weekOrDay.startsWith("w")){try{int week= Integer.parseInt(weekOrDay.substring(1));if(!(week>=1&&week<=5)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)星期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)星期错误");}}else{try{int day=Integer.parseInt(weekOrDay);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)day错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)day错误");}}}else{try{int y= Integer.parseInt(year);if(y<0){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}try{int mon= Integer.parseInt(month);if(!(mon>=1&&mon<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}}}else if(format.equals("UTCTimestamp")){if(tagValue.length()==17){String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);String seperator1=tagValue.substring(8, 9);String hourStr=tagValue.substring(9, 11);String seperaotr2=tagValue.substring(11, 12);String minuteStr=tagValue.substring(12, 14);String seperator3=tagValue.substring(14, 15);String secondStr=tagValue.substring(15, 17);if(!seperator1.equals("-")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperaotr2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperator3.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}}else if(tagValue.length()==21){String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);String seperator1=tagValue.substring(8, 9);String hourStr=tagValue.substring(9, 11);String seperaotr2=tagValue.substring(11, 12);String minuteStr=tagValue.substring(12, 14);String seperator3=tagValue.substring(14, 15);String secondStr=tagValue.substring(15, 17);String seperater4=tagValue.substring(17, 18);String miliSecondStr=tagValue.substring(18, 21);if(!seperator1.equals("-")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperaotr2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperator3.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperater4.equals(".")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}try{int miliSecond=Integer.parseInt(miliSecondStr);if(miliSecond<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)毫秒错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)毫秒错误");}}else{throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)长度错误");}}else if(format.equals("UTCTimeOnly")){if(tagValue.length()==8){String hourStr=tagValue.substring(0, 2);String seperator1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperator2=tagValue.substring(5, 6);String secondStr=tagValue.substring(6, 8);if(!seperator1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}}else if(tagValue.length()==12){String hourStr=tagValue.substring(0, 2);String seperator1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperator2=tagValue.substring(5, 6);String secondStr=tagValue.substring(6, 8);String seperator3=tagValue.substring(8,9);String milliSecondStr=tagValue.substring(9, 12);if(!seperator1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}if(!seperator3.equals(".")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}try{int milliSecond=Integer.parseInt(milliSecondStr);if(milliSecond<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)毫秒错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)毫秒错误");}}else{throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)长度错误");}}else if(format.equals("UTCDateOnly")){if(tagValue.length()!=8){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)长度错误");}String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)日期错误");}}else if(format.equals("LocalMktDate")){if(tagValue.length()!=8){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)长度错误");}String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)日期错误");}}else if(format.equals("TZTimeOnly")){if(tagValue.length()==6){String hourStr=tagValue.substring(0, 2);String seperate1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String Z=tagValue.substring(5, 6);if(!seperate1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!Z.equals("Z")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)Z错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}else if(tagValue.length()==9){String hourStr=tagValue.substring(0, 2);String seperate1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperate2=tagValue.substring(5,6);String secondStr=tagValue.substring(6, 8);String Z=tagValue.substring(8, 9);if(!seperate1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!Z.equals("Z")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)Z错误");}if(!seperate2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}else if(tagValue.length()==8){String hourStr=tagValue.substring(0, 2);String seperate1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperate2=tagValue.substring(5,6);String offsetHourStr=tagValue.substring(6, 8);if(!seperate1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!(seperate2.equals("-")||seperate2.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}else if(tagValue.length()==11){String seperator1=tagValue.substring(5, 6);String hourStr=tagValue.substring(0,2);String seperator2=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}if(seperator1.equals(":")){String secondStr=tagValue.substring(6, 8);String seperator3=tagValue.substring(8,9);String offsetHourStr=tagValue.substring(9, 11);if(!(seperator3.equals("-")||seperator3.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}else if(seperator1.equals("-")||seperator1.equals("+")){String offsetHourStr=tagValue.substring(6,8);String seperator3=tagValue.substring(8, 9);String offsetMinuteStr=tagValue.substring(9, 11);if(!seperator3.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}try{int offsetMinute=Integer.parseInt(offsetMinuteStr);if(!(offsetMinute>=0&&offsetMinute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}else{throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}}else if(tagValue.length()==14){String hourStr=tagValue.substring(0,2);String seperator1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperator2=tagValue.substring(5, 6);String secondStr=tagValue.substring(6, 8);String seperator3=tagValue.substring(8,9);String offsetHourStr=tagValue.substring(9, 11);String seperator4=tagValue.substring(11, 12);String offsetMinuteStr=tagValue.substring(12, 14);if(!seperator1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!(seperator3.equals("+")||seperator3.equals("-"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!seperator4.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}try{int offsetMinute=Integer.parseInt(offsetMinuteStr);if(!(offsetMinute>=0&&offsetMinute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}else {throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)长度错误");}}else if(format.equals("TZTimestamp")){if(tagValue.length()<15){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)长度错误");}String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);String seperator1=tagValue.substring(8, 9);String hourStr=tagValue.substring(9, 11);String seperator2=tagValue.substring(11, 12);String minuteStr=tagValue.substring(12, 14);if(!seperator1.equals("-")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)分钟错误");}if(tagValue.length()==15){String Z=tagValue.substring(14, 15);if(!Z.equals("Z")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)Z错误");}}else if(tagValue.length()==17){String seperator3=tagValue.substring(14, 15);String offsetHourStr=tagValue.substring(15, 17);if(!(seperator3.equals("-")||seperator3.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}else if(tagValue.length()==20){String seperator3=tagValue.substring(14, 15);String offsetHourStr=tagValue.substring(15, 17);String seperator4=tagValue.substring(17, 18);String offsetMinuteStr=tagValue.substring(18, 20);if(!(seperator3.equals("-")||seperator3.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}if(!(seperator4.equals("-")||seperator3.equals(":"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}try{int offsetMinute=Integer.parseInt(offsetMinuteStr);if(!(offsetMinute>=0&&offsetMinute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}else {throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)长度错误");}}else if(format.equals("data")){//TODO}else if(format.equals("Pattern")){}else if(format.equals("Tenor")){}else if(format.equals("Reserved100Plus")){}else if(format.equals("Reserved1000Plus")){}else if(format.equals("Reserved4000Plus")){}else if(format.equals("XMLData")){}else if(format.equals("Language")){}else{throw new InValidDataException(tagId+"-"+tagValue+"-"+format+":format类型错误");}}}}else{if(tagValue!=null){if(format==null){throw new InValidDataException("format的不可以为空");}else{if(format.equals("int")){try{Integer.parseInt(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值不是int类型");}}else if(format.equals("Length")){try{int value=Integer.parseInt(tagValue);if(value<=0){throw new InValidDataException(tagId+"-"+tagValue+":值(Length)不是正的int类型");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Length)不是int类型");}}else if(format.equals("TagNum")){try{if(tagValue.startsWith("0")){throw new InValidDataException(tagId+"-"+tagValue+":TagNum类型不能以0开头");}int value=Integer.parseInt(tagValue);if(value<=0){throw new InValidDataException(tagId+"-"+tagValue+":值(TagNum)不是正的int类型");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TagNum)不是int类型");}}else if(format.equals("SeqNum")){try{int value=Integer.parseInt(tagValue);if(value<0){throw new InValidDataException(tagId+"-"+tagValue+":值(SeqNum)小于0");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(SeqNum)不是int类型");}}else if(format.equals("NumInGroup")){try{int value=Integer.parseInt(tagValue);if(value<=0){throw new InValidDataException(tagId+"-"+tagValue+":值(NumInGroup)不是正的int类型");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(NumInGroup)不是int类型");}}else if(format.equals("DayOfMonth")){try{int value=Integer.parseInt(tagValue);if(!(value<=31&&value>=1)){throw new InValidDataException(tagId+"-"+tagValue+":值(DayOfMonth)不在1和31之间");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(DayOfMonth)不是int类型");}}else if(format.equals("float")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(float)不是float类型");}}else if(format.equals("Qty")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Qty)不是float类型");}}else if(format.equals("Price")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Price)不是float类型");}}else if(format.equals("PriceOffset")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(PriceOffset)不是float类型");}}else if(format.equals("Amt")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Amt)不是float类型");}}else if(format.equals("Percentage")){try{Float.parseFloat(tagValue);}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(Percentage)不是float类型");}}else if(format.equals("char")){if(tagValue.length()>1||tagValue.length()==0){throw new InValidDataException(tagId+"-"+tagValue+":值(char)长度大于1或等于0");}if(tagValue.equals(BaseMsg.SOH)){throw new InValidDataException(tagId+"-"+tagValue+":值(char)不能是分隔符");}}else if(format.equals("Boolean")){if(tagValue.length()>1||tagValue.length()==0){throw new InValidDataException(tagId+"-"+tagValue+":值(Boolean)长度大于1或等于0");}if(!(tagValue.equals("N")||tagValue.equals("Y"))){throw new InValidDataException(tagId+"-"+tagValue+":值(Boolean)不是N或Y");}}else if(format.equals("String")){int index=tagValue.indexOf(BaseMsg.SOH);if(index!=-1){throw new InValidDataException(tagId+"-"+tagValue+":值(String)不能包含分隔符");}}else if(format.equals("MultipleCharValue")){int index=tagValue.indexOf(BaseMsg.SOH);if(index!=-1){throw new InValidDataException(tagId+"-"+tagValue+":值(String)不能包含分隔符");}String[] valueArray=tagValue.split(" ");for(int i=0;i<valueArray.length;i++){String value=valueArray[i];if(value.length()>1){throw new InValidDataException(tagId+"-"+tagValue+":值(MultipleCharValue)包含String小单元了");}}}else if(format.equals("MultipleStringValue")){int index=tagValue.indexOf(BaseMsg.SOH);if(index!=-1){throw new InValidDataException(tagId+"-"+tagValue+":值(String)不能包含分隔符");}}else if(format.equals("Country")){if(tagValue.length()!=2){throw new InValidDataException(tagId+"-"+tagValue+":值(Country)长度错误");}//TODO country比较}else if(format.equals("Currency")){if(tagValue.length()!=3){throw new InValidDataException(tagId+"-"+tagValue+":值(Currency)长度错误");}//TODO Currency比较}else if(format.equals("Exchange")){ //TODO Exchange}else if(format.equals("MonthYear")){ if(!(tagValue.length()==6||tagValue.length()==8)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)长度错误");}String year=tagValue.substring(0, 4);String month=tagValue.substring(4, 6);if(tagValue.length()==8){String weekOrDay=tagValue.substring(6, 8);try{int y= Integer.parseInt(year);if(y<0){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}try{int mon= Integer.parseInt(month);if(!(mon>=1&&mon<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}if(weekOrDay.startsWith("w")){try{int week= Integer.parseInt(weekOrDay.substring(1));if(!(week>=1&&week<=5)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)星期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)星期错误");}}else{try{int day=Integer.parseInt(weekOrDay);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)day错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)day错误");}}}else{try{int y= Integer.parseInt(year);if(y<0){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)年份错误");}try{int mon= Integer.parseInt(month);if(!(mon>=1&&mon<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(MonthYear)月份错误");}}}else if(format.equals("UTCTimestamp")){if(tagValue.length()==17){String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);String seperator1=tagValue.substring(8, 9);String hourStr=tagValue.substring(9, 11);String seperaotr2=tagValue.substring(11, 12);String minuteStr=tagValue.substring(12, 14);String seperator3=tagValue.substring(14, 15);String secondStr=tagValue.substring(15, 17);if(!seperator1.equals("-")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperaotr2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperator3.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}}else if(tagValue.length()==21){String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);String seperator1=tagValue.substring(8, 9);String hourStr=tagValue.substring(9, 11);String seperaotr2=tagValue.substring(11, 12);String minuteStr=tagValue.substring(12, 14);String seperator3=tagValue.substring(14, 15);String secondStr=tagValue.substring(15, 17);String seperater4=tagValue.substring(17, 18);String miliSecondStr=tagValue.substring(18, 21);if(!seperator1.equals("-")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperaotr2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperator3.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}if(!seperater4.equals(".")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)日期错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)秒钟错误");}try{int miliSecond=Integer.parseInt(miliSecondStr);if(miliSecond<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)毫秒错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)毫秒错误");}}else{throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimestamp)长度错误");}}else if(format.equals("UTCTimeOnly")){if(tagValue.length()==8){String hourStr=tagValue.substring(0, 2);String seperator1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperator2=tagValue.substring(5, 6);String secondStr=tagValue.substring(6, 8);if(!seperator1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}}else if(tagValue.length()==12){String hourStr=tagValue.substring(0, 2);String seperator1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperator2=tagValue.substring(5, 6);String secondStr=tagValue.substring(6, 8);String seperator3=tagValue.substring(8,9);String milliSecondStr=tagValue.substring(9, 12);if(!seperator1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}if(!seperator3.equals(".")){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=60)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)秒钟错误");}try{int milliSecond=Integer.parseInt(milliSecondStr);if(milliSecond<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)毫秒错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)毫秒错误");}}else{throw new InValidDataException(tagId+"-"+tagValue+":值(UTCTimeOnly)长度错误");}}else if(format.equals("UTCDateOnly")){if(tagValue.length()!=8){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)长度错误");}String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(UTCDateOnly)日期错误");}}else if(format.equals("LocalMktDate")){if(tagValue.length()!=8){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)长度错误");}String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(LocalMktDate)日期错误");}}else if(format.equals("TZTimeOnly")){if(tagValue.length()==6){String hourStr=tagValue.substring(0, 2);String seperate1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String Z=tagValue.substring(5, 6);if(!seperate1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!Z.equals("Z")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)Z错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}else if(tagValue.length()==9){String hourStr=tagValue.substring(0, 2);String seperate1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperate2=tagValue.substring(5,6);String secondStr=tagValue.substring(6, 8);String Z=tagValue.substring(8, 9);if(!seperate1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!Z.equals("Z")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)Z错误");}if(!seperate2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}else if(tagValue.length()==8){String hourStr=tagValue.substring(0, 2);String seperate1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperate2=tagValue.substring(5,6);String offsetHourStr=tagValue.substring(6, 8);if(!seperate1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!(seperate2.equals("-")||seperate2.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}else if(tagValue.length()==11){String seperator1=tagValue.substring(5, 6);String hourStr=tagValue.substring(0,2);String seperator2=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}if(seperator1.equals(":")){String secondStr=tagValue.substring(6, 8);String seperator3=tagValue.substring(8,9);String offsetHourStr=tagValue.substring(9, 11);if(!(seperator3.equals("-")||seperator3.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}else if(seperator1.equals("-")||seperator1.equals("+")){String offsetHourStr=tagValue.substring(6,8);String seperator3=tagValue.substring(8, 9);String offsetMinuteStr=tagValue.substring(9, 11);if(!seperator3.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}try{int offsetMinute=Integer.parseInt(offsetMinuteStr);if(!(offsetMinute>=0&&offsetMinute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}else{throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}}else if(tagValue.length()==14){String hourStr=tagValue.substring(0,2);String seperator1=tagValue.substring(2, 3);String minuteStr=tagValue.substring(3, 5);String seperator2=tagValue.substring(5, 6);String secondStr=tagValue.substring(6, 8);String seperator3=tagValue.substring(8,9);String offsetHourStr=tagValue.substring(9, 11);String seperator4=tagValue.substring(11, 12);String offsetMinuteStr=tagValue.substring(12, 14);if(!seperator1.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!(seperator3.equals("+")||seperator3.equals("-"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}if(!seperator4.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)时间错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)分钟错误");}try{int second=Integer.parseInt(secondStr);if(!(second>=0&&second<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)秒钟错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}try{int offsetMinute=Integer.parseInt(offsetMinuteStr);if(!(offsetMinute>=0&&offsetMinute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}else {throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)长度错误");}}else if(format.equals("TZTimestamp")){if(tagValue.length()<15){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)长度错误");}String yearStr=tagValue.substring(0, 4);String monthStr=tagValue.substring(4, 6);String dayStr=tagValue.substring(6, 8);String seperator1=tagValue.substring(8, 9);String hourStr=tagValue.substring(9, 11);String seperator2=tagValue.substring(11, 12);String minuteStr=tagValue.substring(12, 14);if(!seperator1.equals("-")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}if(!seperator2.equals(":")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int year=Integer.parseInt(yearStr);if(year<0){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)年份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)年份错误");}try{int month=Integer.parseInt(monthStr);if(!(month>=1&&month<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)月份错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)月份错误");}try{int day=Integer.parseInt(dayStr);if(!(day>=1&&day<=31)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int hour=Integer.parseInt(hourStr);if(!(hour>=0&&hour<=23)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)小时错误");}try{int minute=Integer.parseInt(minuteStr);if(!(minute>=0&&minute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)分钟错误");}if(tagValue.length()==15){String Z=tagValue.substring(14, 15);if(!Z.equals("Z")){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)Z错误");}}else if(tagValue.length()==17){String seperator3=tagValue.substring(14, 15);String offsetHourStr=tagValue.substring(15, 17);if(!(seperator3.equals("-")||seperator3.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}else if(tagValue.length()==20){String seperator3=tagValue.substring(14, 15);String offsetHourStr=tagValue.substring(15, 17);String seperator4=tagValue.substring(17, 18);String offsetMinuteStr=tagValue.substring(18, 20);if(!(seperator3.equals("-")||seperator3.equals("+"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}if(!(seperator4.equals("-")||seperator3.equals(":"))){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)日期错误");}try{int offsetHour=Integer.parseInt(offsetHourStr);if(!(offsetHour>=1&&offsetHour<=12)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移小时错误");}try{int offsetMinute=Integer.parseInt(offsetMinuteStr);if(!(offsetMinute>=0&&offsetMinute<=59)){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}catch(Exception e){throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimeOnly)偏移分钟错误");}}else {throw new InValidDataException(tagId+"-"+tagValue+":值(TZTimestamp)长度错误");}}else if(format.equals("data")){//TODO}else if(format.equals("Pattern")){}else if(format.equals("Tenor")){}else if(format.equals("Reserved100Plus")){}else if(format.equals("Reserved1000Plus")){}else if(format.equals("Reserved4000Plus")){}else if(format.equals("XMLData")){}else if(format.equals("Language")){}else{throw new InValidDataException(tagId+"-"+tagValue+"-"+format+":format类型错误");}}}}}public String getTagId() {return tagId;}public void setTagId(String tagId) {this.tagId = tagId;}public String getTagValue() {return tagValue;}public void setTagValue(String tagValue) {this.tagValue = tagValue;}public String getFormat() {return format;}public void setFormat(String format) {this.format = format;}public boolean isMust() {return must;}public void setMust(boolean must) {this.must = must;}}