zoukankan      html  css  js  c++  java
  • Message解析流程(转)

    Message的解析作为一个共同组件。对应不同格式的msg文件有不同的实现类来解析。
    用SAXParser.

    1:Final class MessageResourceManager
       在Start方法中调用(启动加载):MessageResourceManager.load("SAXMessageResource", msgFileList);
       在execute方法中使用:MessageEntity msgEntity = MessageResourceManager.getMessageEntity(msgId);

    2: 在MessageResourceManager中有以下方法:
    MessageResourceManager msgMgr;
     void load (String className, List msgFileNames){
        msgMgr = new MessageResourceManager(className, msgFileNames);
    }

    构造方法:
    private MessageResourceManager(String className, List msgFileNames){
        msgMgr = MessageResourceFactory.getMessageResource(className, msgFileNames);
    }

    3: 在MessageResourceFactory中有以下方法:
    public static MessageResource getMessageResource(String className, List msgFileNames){
        Class msgClass = Class.forName(className);
        Class[] paramTypes = {java.util.List.class};
        Constructor constructor = msgClass.getConstructor(paramTypes);
        Object[] params = {msgFileNames};
        return (MessageResource)constructor.newInstance(params);
    }

    4:在SAXMessageResource类中实现,文件打开,数据取得,让MessageResourceManager的方法去调用。
    http://hiyachen.blog.chinaunix.net
    一套完整的msg不同方式数据取得共通框架(可以用各种XML解析)。
  • 相关阅读:
    24. Swap Nodes in Pairs
    49. Group Anagrams
    280. Wiggle Sort
    274. H-Index
    K Closest Numbers In Sorted Array
    Closest Number in Sorted Array
    Last Position of Target
    Classical Binary Search
    350. Intersection of Two Arrays II
    Sort Integers II
  • 原文地址:https://www.cnblogs.com/softidea/p/4837925.html
Copyright © 2011-2022 走看看