package com.brightgenerous.orm.mapper;
import java.io.Serializable;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import com.brightgenerous.commons.EqualsUtils;
import com.brightgenerous.commons.HashCodeUtils;
import com.brightgenerous.commons.ToStringUtils;
import com.brightgenerous.lang.Args;
public class TableDefine implements Serializable {
private static final long serialVersionUID = 7210435864811345378L;
private final TableMapper tableMapper;
private final Map<String, TableMapper> propertyTableMappers;
public TableDefine(TableMapper tableMapper) {
this(tableMapper, null);
}
public TableDefine(TableMapper tableMapper, Map<String, TableMapper> propertyTableMappers) {
Args.notNull(tableMapper, "tableMapper");
this.tableMapper = tableMapper;
this.propertyTableMappers = new HashMap<>(
(propertyTableMappers == null) ? Collections.EMPTY_MAP : propertyTableMappers);
}
public TableMapper getTableMapper() {
return tableMapper;
}
public Map<String, TableMapper> getPropertyTableMappers() {
return propertyTableMappers;
}
@Override
public int hashCode() {
if (HashCodeUtils.resolved()) {
return HashCodeUtils.hashCodeAlt(null, this);
}
return super.hashCode();
}
@Override
public boolean equals(Object obj) {
if (EqualsUtils.resolved()) {
return EqualsUtils.equalsAlt(null, this, obj);
}
return super.equals(obj);
}
@Override
public String toString() {
if (ToStringUtils.resolved()) {
return ToStringUtils.toStringAlt(this);
}
return super.toString();
}
}