//参考base-4.0.2.jar
public class AuditObject extends HashMap<String, Object> implements TimeReferable
//参考api-1.0.0.jar
//该接口用于表示实现类是时间可参考的,也就是能够获得基准时间。
//以前的实时风控都是基于当前时间来进行的,引入该类希望将实时风控扩展到更深的领域。
public abstract interface TimeReferable extends Serializable
{
public abstract Date getReferenceTime();
public abstract void setReferenceTime(Date paramDate);
}
//两个构造器,使用默认构造器时,自动生成uuid,uuid属性与equals方法相关。
public AuditObject(String paramString1, String paramString2)
{
this();
setPrimaryKey(paramString1);
setBizCode(paramString2);
}

public AuditObject()
{
setUuid(UUID.randomUUID().toString());
}
//使用get方法从HashMap中获取对应key的value并转化成对应类型的值
//特别注意,这些方法的修饰符为默认(default),所以仅供包内访问使用,可在自己写的ETL中加上这些方法。
String getString(String paramString)
{
Object localObject = get(paramString);
return localObject == null ? null : localObject.toString();
} Long getLong(String paramString)
{
Object localObject = get(paramString);
return localObject == null ? null : Long.valueOf(Long.parseLong(localObject.toString()));
} Date getDate(String paramString)
{
Object localObject = get(paramString);
return localObject == null ? null : new Date(Long.parseLong(localObject.toString()));
}
  //重写hashCode()和equals()方法
 //特别要注意的是,此处的equals()方法通过比较两个对象的uuid是否相同来判断两个对象是否相同
 //默认构造器会自动生成uuid
 public int hashCode()
{
return getUuid().hashCode();
} public boolean equals(Object paramObject)
{
if (this == paramObject) {
return true;
}
if (paramObject == null) {
return false;
}
if (getClass() != paramObject.getClass()) {
return false;
}
AuditObject localAuditObject = (AuditObject)paramObject;
return getUuid().equals(localAuditObject.getUuid());
}

base--AuditObject的更多相关文章

  1. 小白解决CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6

    刚入手的MacBook想着学点东西,本汪还是决定玩玩CentOS服务器,安装好了VirtualBox + CentOS. 打开一看,懵逼了!命令行! 行吧,先装个图形界面: $sudo yum gro ...

  2. 分布式系列文章——从ACID到CAP/BASE

    事务 事务的定义: 事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元(Unit),狭义上的事务特指数据库事务. 事务的作用: 当多个应用程序并发访问 ...

  3. base的应用

    ------------父类   public class Person   {       public Person(string name,int age)    {       this.Na ...

  4. C# base 64图片编码解码

    使用WinForm实现了图片base64编码解码的 效果图: 示例base 64编码字符串: /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKD ...

  5. c++ builder 2010 错误 F1004 Internal compiler error at 0x9740d99 with base 0x9

    今天遇到一个奇怪的问题,拷贝项目后,在修改,会出现F1004 Internal compiler error at 0x9740d99 with base 0x9 ,不管怎么改,删除改动,都没用,关闭 ...

  6. MVC中的BASE.ONACTIONEXECUTING(FILTERCONTEXT) 的作用

    一句话,就是调用base.OnActionExecuting(filterContext)这个后,才会执行后续的ActionFilter,如果你确定只有一个,或是不想执行后续的话,那么可以不用调用该语 ...

  7. 安装CentOS7文字界面版后,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法

    *无法联网的明显表现会有: 1.yum install出现 Error: cannot find a valid baseurl or repo:base 2.ping host会提示unknown ...

  8. 在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证

    注:下载本文提到的完整代码示例请访问:How to authorization Angular 2 app with asp.net core web api 在ASP.NET Core中使用Angu ...

  9. 在ASP.NET Core中实现一个Token base的身份认证

    注:本文提到的代码示例下载地址> How to achieve a bearer token authentication and authorization in ASP.NET Core 在 ...

  10. SharePoint Claim base authentication EnsureUser 不带claim(i:0#.w|)user Failed

    环境信息: 带有Form base authentication(FBA).Active Directory Federation Services(ADFS).以及windows Authentic ...

随机推荐

  1. Activemq 消息类型 (转)

    Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...

  2. ADO.NET基础必备之SqlCommand.Execute三方法

    SqlCommand.ExecuteNonQuery 方法   对连接执行 Transact-SQL 语句并返回受影响的行数. ――语法: public override int ExecuteNon ...

  3. 【Python】Python 新式类介绍

    本文转载自:kaka_ace's blog 我们使用 Python 开发时, 会遇到 class A 和 class A(object) 的写法, 这在 Python2 里是有概念上和功能上的区别, ...

  4. Python基础教程系列目录,最全的Python入门系列教程!

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在现在的工作及开发当中,Python的使用越来越广泛,为了方便大家的学习,Linux大学 特推出了 <Python基 ...

  5. P3986 斐波那契数列

    题目描述 定义一个数列: f(0)=a,f(1)=b,f(n)=f(n−1)+f(n−2) 其中 a,b均为正整数,n≥2 . 问有多少种 (a,b),使得 k 出现在这个数列里,且不是前两项. 由于 ...

  6. P1135 奇怪的电梯

    题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开 ...

  7. Django+haystack实现全文搜索出现错误 ImportError: cannot import name signals

    原因是在你的settings.py或者其他地方使用了  "import haystack" 当我们使用django-haysatck库时,表面上会有haystack库,但实际上并不 ...

  8. BZOJ3156: 防御准备 【斜率优化dp】

    3156: 防御准备 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 2207  Solved: 933 [Submit][Status][Discu ...

  9. IT英语累积

    JPA: Java Persistence API   一种持久化规范 Spring Data:一种用于简化数据库访问,支持云服务的开源框架 Spring Data JPA:是Spring Data的 ...

  10. NOIP2017金秋冲刺训练营杯联赛模拟大奖赛第一轮Day2题解

    上星期打的...题有点水,好多人都AK了 T1排个序贪心就好了 #include<iostream> #include<cstring> #include<cstdlib ...