您的位置:首页 > 其它

判断从Web Form接收到的数据是否被修改

2012-06-01 13:58 169 查看
 /**

  * 返回8位固定长度(左补0)的HEX编码主键,作为注册机构联系人主键

  *

  * @return 8位固定长度的HEX编码主键

  */

 @Transient

 public String getIdString() {

  String s = getExternalId();

  if (s == null) {

   return StringUtils.leftPad(Integer.toHexString(id), 8, '0');

  } else {

   return s;

  }

 }

 /**

  * 判断此对象与目标对象是否除主键和密码外的全部字段均相同。<br/>

  * 通常用于判断从Web Form接收到的数据是否被修改。

  *

  * @param c 目标对象

  * @return 如果全部相同返回<code>true</code>,否则返回<code>false</code>

  */

 @Transient

 public boolean isFieldsEqual(DomainContact c) {

  return StringUtils.equals(getCnName(), c.getCnName()) &&

   StringUtils.equals(getCnOrganization(), c.getCnOrganization()) &&

   StringUtils.equals(getCnAddress(), c.getCnAddress()) &&

   StringUtils.equals(getCnCity(), c.getCnCity()) &&

   StringUtils.equals(getCnProvince(), c.getCnProvince()) &&

   StringUtils.equals(getName(), c.getName()) &&

   StringUtils.equals(getOrganization(), c.getOrganization()) &&

   StringUtils.equals(getAddress(), c.getAddress()) &&

   StringUtils.equals(getCity(), c.getCity()) &&

   StringUtils.equals(getProvince(), c.getProvince()) &&

   StringUtils.equals(getCountryCode(), c.getCountryCode()) &&

   StringUtils.equals(getPostal(), c.getPostal()) &&

   StringUtils.equals(getPhone(), c.getPhone()) &&

   StringUtils.equals(getFax(), c.getFax()) &&

   StringUtils.equals(getEmail(), c.getEmail()) &&

   StringUtils.equals(getIdentityCard(), c.getIdentityCard())&&

   StringUtils.equals(getIdentityCardType(), c.getIdentityCardType())&&

   StringUtils.equals(getIdentityCardPath(), c.getIdentityCardPath())&&

   StringUtils.equals(getIdentityCardPath1(), c.getIdentityCardPath1())&&

   StringUtils.equals(getOrganizationCode(), c.getOrganizationCode())&&

   StringUtils.equals(getOrganizationCodeType(), c.getOrganizationCodeType())&&

   StringUtils.equals(getOrganizationCodePath(), c.getOrganizationCodePath())&&   

   getStatus() == c.getStatus();

 }

 /**

  * 判断此对象与目标对象是否除主键、单位名称和密码外的全部字段均相同。<br/>

  * 通常用于判断从Web Form接收到的数据是否被修改。

  *

  * @param c 目标对象

  * @return 如果全部相同返回<code>true</code>,否则返回<code>false</code>

  */

 @Transient

 public boolean isFieldsEqualExceptOrganization(DomainContact c) {

  return StringUtils.equals(getCnName(), c.getCnName()) &&

   StringUtils.equals(getCnAddress(), c.getCnAddress()) &&

   StringUtils.equals(getCnCity(), c.getCnCity()) &&

   StringUtils.equals(getCnProvince(), c.getCnProvince()) &&

   StringUtils.equals(getName(), c.getName()) &&

   StringUtils.equals(getAddress(), c.getAddress()) &&

   StringUtils.equals(getCity(), c.getCity()) &&

   StringUtils.equals(getProvince(), c.getProvince()) &&

   StringUtils.equals(getCountryCode(), c.getCountryCode()) &&

   StringUtils.equals(getPostal(), c.getPostal()) &&

   StringUtils.equals(getPhone(), c.getPhone()) &&

   StringUtils.equals(getFax(), c.getFax()) &&

   StringUtils.equals(getEmail(), c.getEmail()) &&

   getStatus() == c.getStatus();

 }

 /**

  * 复制一个联系人对象除主键外的所有字段到另一个对象。<br/>

  * <strong>注意:不更新密码和状态字段</strong><br/>

  * 通常用于将从Web Form接收到的数据复制到ORM对象实例,但不替换主键以防止客户端利用篡改主键

  * 修改他人的联系人资料的漏洞。

  *

  * @param from 源对象

  * @param to 目标对象

  */

 public static void copyFields(DomainContact from, DomainContact to) {

  to.setCnName(from.getCnName());

  to.setCnOrganization(StringUtils.defaultIfEmpty(from.getCnOrganization(), null));

  to.setCnAddress(from.getCnAddress());

  to.setCnCity(from.getCnCity());

  to.setCnProvince(StringUtils.defaultIfEmpty(from.getCnProvince(), null));

  to.setName(from.getName());

  to.setOrganization(StringUtils.defaultIfEmpty(from.getOrganization(), null));

  to.setAddress(from.getAddress());

  to.setCity(from.getCity());

  to.setProvince(StringUtils.defaultIfEmpty(from.getProvince(), null));

  to.setCountryCode(from.getCountryCode());

  to.setPostal(StringUtils.defaultIfEmpty(from.getPostal(), null));

  to.setPhone(StringUtils.defaultIfEmpty(from.getPhone(), null));

  to.setFax(StringUtils.defaultIfEmpty(from.getFax(), null));

  to.setEmail(from.getEmail());

  //新增加

  to.setOrganizationCode(from.getOrganizationCode());

        to.setOrganizationCodePath(from.getOrganizationCodePath());

  to.setIdentityCard(from.getIdentityCard());

  to.setIdentityCardPath(from.getIdentityCardPath());

  to.setIdentityCardType(from.getIdentityCardType());

  to.setOrganizationCodeType(from.getOrganizationCodeType());

  to.setIdentityCardPath1(from.getIdentityCardPath1());

 }

 public DomainContact clone() throws CloneNotSupportedException {

  return (DomainContact) super.clone();

 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web null hex string orm c
相关文章推荐