没有合适的资源?快使用搜索试试~ 我知道了~
Java代码实现移方块游戏设计
资源推荐
资源详情
资源评论
Java OOP Day05
1. LogData数据成员设计及实现
2. LogData基于字节数组的构造方法设计及实现
3. LogData其他构造方法设计及实现
4. LogRec数据成员设计及实现
5. LogRec重载构造方法设计及实现
6. logRec match方法的实现
7. Controller数据成员设计及实现
8. Controller parseLogData方法设计及实现
9. Controller matchLogData方法设计及实现
10. Controller 数据抓取TimerTask设计及实现
11. Controller 排序及groupBy方法设计及实现
12. Controller与View层关联及数据更新显示
1 LogData数据成员设计及实现
1.1 问题
声明LogData类型代表从日志byte[]数据中解析出来的日志数据对象.
1.2 方案
LogData类代表日志数据类型, 每个LogData对象是从日志byte[]数组中解析出来的一个日志
数据. 实例变量代表日志属性, 常量是日志解析规则常数. 还要定义日志属性访问方法.
LogData包括实例属性:
user 用户登录名
pid 登录进程号
type 登录类型, 来自Unix的标准属性
time 登录时间
host 客户登录的地址
LogData的常量:
01. /**
02. * 登录状态, 是type属性的值
03. */
04. public static final short USER_PROCESS = 7;
05. /**
06. * 登出状态, 是type属性的值
07. */
08. public static final short DEAD_PROCESS = 8;
1.3 实现
创建LogData类:
09.
10. /** Unix 标准登录类型定义 */
11. private static final String[] TYPES = { "EMPTY",
12. "RUN_LVL", "BOOT_TIME",
13. "OLD_TIME", "NEW_TIME",
14. "INIT_PROCESS", "LOGIN_PROCESS",
15. "USER_PROCESS", "DEAD_PROCESS",
16. "ACCOUNTING" };
17. /**
18. * 日志文件记录长度, 是Unix日志标准长度
19. */
20. public static final int LOG_LENGTH = 372;
21.
22. /**
23. * 业务帐号,用户属性偏移位置, 采用ASCII编码存储
24. */
25. public static final int USER_OFFSET = 0;
26. public static final int USER_LENGTH = 32;
27. /**
28. * 进程号偏移位置, 连续4个byte, 是一个int数据
29. */
30. public static final int PID_OFFSET = 68;
31. /**
32. * 登录类型偏移位置, 连续两个byte, 是short数据
33. */
34. public static final int TYPE_OFFSET = 72;
35. /**
36. * 登录类型偏移位置, 连续4个byte, int类型
37. */
38. public static final int TIME_OFFSET = 80;
39. /**
40. * 登录用户主机名偏移位置, 是ASCII编码字符串, 每个byte对应一个字符
41. */
42. public static final int HOST_OFFSET = 114;
43. public static final int HOST_LENGTH = 257;
增加属性和常量:
01. public class LogData {
02. }
01. public class LogData {
02.
03. /**
04. * 登录状态, 是type属性的值
05. */
06. public static final short USER_PROCESS = 7;
07.
08. /**
09. * 登出状态, 是type属性的值
10. */
11. public static final short DEAD_PROCESS = 8;
12.
13. /** Unix 标准登录类型定义 */
14. private static final String[] TYPES = { "EMPTY",
15. "RUN_LVL", "BOOT_TIME",
16. "OLD_TIME", "NEW_TIME",
17. "INIT_PROCESS", "LOGIN_PROCESS",
18. "USER_PROCESS", "DEAD_PROCESS",
19. "ACCOUNTING" };
20.
21. /**
22. * 日志文件记录长度, 是Unix日志标准长度
23. */
24. public static final int LOG_LENGTH = 372;
25.
26. /**
27. * 业务帐号, 也是 登录用户名
28. */
29. private String user;
30. /**
31. * 业务帐号,用户属性偏移位置, 采用ASCII编码存储
32. */
33. public static final int USER_OFFSET = 0;
34. public static final int USER_LENGTH = 32;
35. /**
36. * 登录进程号码 int类型
37. */
38. private int pid;
39. /**
40. * 进程号偏移位置, 连续4个byte, 是一个int数据
41. */
42. public static final int PID_OFFSET = 68;
43. /**
44. * 登录类型: LOGIN 或 LOGOUT short类型
45. */
46. private short type;
47. /**
48. * 登录类型偏移位置, 连续两个byte, 是short数据
49. */
50. public static final int TYPE_OFFSET = 72;
51. /**
52. * 登录时间, 以秒为单位, int类型, 是1970年开始秒数
53. */
54. private int time;
55. /**
56. * 登录类型偏移位置, 连续4个byte, int类型
57. */
58. public static final int TIME_OFFSET = 80;
59.
60. /**
61. * 登录用户主机名, 经常是IP地址
62. */
63. private String host;
64. /**
65. * 登录用户主机名偏移位置, 是ASCII编码字符串, 每个byte对应一个字符
66. */
67. public static final int HOST_OFFSET = 114;
68. public static final int HOST_LENGTH = 257;
69. }
增加属性访问方法:
01. public String getUser() {
02. return user;
03. }
04.
05. public void setUser(String user) {
06. this.user = user;
07. }
08.
09. public int getPid() {
10. return pid;
11. }
12.
13. public void setPid(int pid) {
14. this.pid = pid;
15. }
16.
17. public short getType() {
18. return type;
19. }
20.
21. public void setType(short type) {
22. this.type = type;
23. }
24.
25. public int getTime() {
26. return time;
27. }
28.
29. public void setTime(int time) {
30. this.time = time;
31. }
32.
33. public String getHost() {
34. return host;
35. }
36.
剩余58页未读,继续阅读
资源评论
java界的小趴菜
- 粉丝: 45
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功