通用类

张军 3454 0

所有工具类

比如异常通用处理,KV键值对处理,常量等都定义为通用类

zj.common.constant.Constants

package zj.common.constant;
/**
 * 通用常量类
 * 
 * @version 1.00 (2011.12.02)
 * @author SHNKCS 张军 {@link  <a target=_blank href="http://www.zhangjunbk.com">张军个人网站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">张军QQ空间</a>}
 */
public class Constants {
	/** 全局分割符号0 **/
	public static final String GLOBAL_SPLIT_0 = "5c7c66e58a944e4682bf73c9f2969079";
	/** 全局分割符号1 **/
	public static final String GLOBAL_SPLIT_1 = "f8aeef2a2ef0a2aa2d8f55acadb3e646";
	/** 全局分割符号2 **/
	public static final String GLOBAL_SPLIT_2 = "b534c1ed5cdeaf4ab0fbcb1ec1672c16";
	/** 全局分割符号3 **/
	public static final String GLOBAL_SPLIT_3 = "67c3085c00afdbcb58da67fefb797745";
}

zj.common.enums.Enums

package zj.common.enums;

/**
 * 通用枚举类
 * 
 * @version 1.00 (2011.12.02)
 * @author SHNKCS 张军 {@link  <a target=_blank href="http://www.zhangjunbk.com">张军个人网站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">张军QQ空间</a>}
 */
public class Enums {
	/**
	 * 是否标识
	 */
	public static enum _YN {
		N("0", "否"), Y("1", "是");
		private final String value;

		public String getValue() {
			return value;
		}

		private final String name;

		public String getName() {
			return name;
		}

		_YN(String value, String name) {
			this.value = value;
			this.name = name;
		}

		// 普通方法
		public static String getName(String value) {
			for (_YN entity : _YN.values()) {
				if (entity.getValue().equals(value)) {
					return entity.name;
				}
			}
			return "未知";
		}
	}

	/**
	 * 删除标识
	 * 
	 * @see _YN
	 */
	@Deprecated
	public static enum _Delete {
		NOT_DELETE("0", "未删除"), DELETE("1", "已删除");
		private final String value;

		public String getValue() {
			return value;
		}

		private final String name;

		public String getName() {
			return name;
		}

		_Delete(String value, String name) {
			this.value = value;
			this.name = name;
		}

		// 普通方法
		public static String getName(String value) {
			for (_Delete entity : _Delete.values()) {
				if (entity.getValue().equals(value)) {
					return entity.name;
				}
			}
			return "未知";
		}
	}

	/**
	 * 升序降序
	 */
	public static enum _Order {
		DESC(" desc", "降序"), ASC(" asc", "升序");
		private final String value;

		public String getValue() {
			return value;
		}

		private final String name;

		public String getName() {
			return name;
		}

		_Order(String value, String name) {
			this.value = value;
			this.name = name;
		}

		// 普通方法
		public static String getName(String value) {
			for (_Order entity : _Order.values()) {
				if (entity.getValue().equals(value)) {
					return entity.name;
				}
			}
			return "未知";
		}
	}
}

zj.common.exception.ServiceException

package zj.common.exception;
/**
 * 自定义异常处理
 * 
 * @version 1.00 (2014.09.15)
 * @author SHNKCS 张军 {@link  <a target=_blank href="http://www.zhangjunbk.com">张军个人网站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">张军QQ空间</a>}
 */
public class ServiceException extends RuntimeException {
	private static final long serialVersionUID = 1L;

	public ServiceException() {
		super();
	}

	public ServiceException(String message) {
		super(message);
	}

	public ServiceException(String message, Throwable cause) {
		super(message, cause);
	}

	public ServiceException(Throwable cause) {
		super(cause);
	}
}

zj.common.KV<K, V>

package zj.common;

/**
 * K、V值
 * 
 * @Description KV.java
 * @author 张军
 * @date 2017年10月10日 下午6:19:30
 * @version V1.0
 * @author SHNKCS 张军 {@link <a target=_blank href="http://www.zhangjunbk.com">张军个人网站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">张军QQ空间</a>}
 */
public class KV<K, V> {
	// K值
	private K k;
	// V值
	private V v;

	/**
	 * @see with(K,V)
	 */
	@Deprecated
	public KV() {
	}

	/**
	 * @see with(K,V)
	 */
	@Deprecated
	public KV(K k, V v) {
		this.k = k;
		this.v = v;
	}

	public static <K, V> KV<K, V> with(K k, V v) {
		return new KV<K, V>(k, v);
	}

	public void setK(K k) {
		this.k = k;
	}

	public void setV(V v) {
		this.v = v;
	}

	public K getK() {
		return k;
	}

	public V getV() {
		return v;
	}

	@SuppressWarnings("unchecked")
	@Override
	public boolean equals(Object obj) {
		try {
			if (this == obj) {
				return true;// 地址相等
			}
			if (obj == null) {
				return false;// 非空性:对于任意非空引用x,x.equals(null)应该返回false。
			}
			if (obj instanceof KV) {
				KV<K, V> other = (KV<K, V>) obj;
				// 需要比较的字段相等,则这两个对象相等
				if (other.k.equals(this.k) && other.v.equals(this.v)) {
					return true;
				}
			}
		} catch (Exception e) {
			// 不做处理
		}
		return false;
	}

	@Override
	public int hashCode() {
		final int prime = 31;// 为什么是31?因为这个数需要是质数 31是经验验证的一个能够很好地减小哈希碰撞的质数
		int result = 17;
		result = prime * result + (this.k == null ? 0 : this.k.hashCode());
		result = prime * result + (this.v == null ? 0 : this.v.hashCode());
		return result;
	}

	@Override
	public String toString() {
		return this.k + "->" + this.v;
	}
}

zj.common.VVV<V1, V2, V3>

package zj.common;

import lombok.Data;

/**
 * V1、V2、V3值
 * 
 * @Description KV.java
 * @author 张军
 * @date 2017年10月10日 下午6:19:30
 * @version V1.0
 * @author SHNKCS 张军 {@link <a target=_blank href="http://www.zhangjunbk.com">张军个人网站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">张军QQ空间</a>}
 */
@Data
// @EqualsAndHashCode(callSuper = true)
public class VVV<V1, V2, V3> {

	private V1 v1;

	private V2 v2;

	private V3 v3;

	/**
	 * @see with(V1,V2,V3)
	 */
	@Deprecated
	public VVV() {
	}

	/**
	 * @see with(V1,V2,V3)
	 */
	@Deprecated
	public VVV(V1 v1, V2 v2, V3 v3) {
		this.v1 = v1;
		this.v2 = v2;
		this.v3 = v3;
	}

	public static <V1, V2, V3> VVV<V1, V2, V3> with(V1 v1, V2 v2, V3 v3) {
		return new VVV<V1, V2, V3>(v1, v2, v3);
	}

	@SuppressWarnings("unchecked")
	@Override
	public boolean equals(Object obj) {
		try {
			if (this == obj) {
				return true;// 地址相等
			}
			if (obj == null) {
				return false;// 非空性:对于任意非空引用x,x.equals(null)应该返回false。
			}
			if (obj instanceof VVV) {
				VVV<V1, V2, V3> other = (VVV<V1, V2, V3>) obj;
				// 需要比较的字段相等,则这两个对象相等
				if (other.v1.equals(this.v1) && other.v2.equals(this.v2) && other.v3.equals(this.v3)) {
					return true;
				}
			}
		} catch (Exception e) {
			// 不做处理
		}
		return false;
	}

	@Override
	public int hashCode() {
		final int prime = 31;// 为什么是31?因为这个数需要是质数 31是经验验证的一个能够很好地减小哈希碰撞的质数
		int result = 17;
		result = prime * result + (this.v1 == null ? 0 : this.v1.hashCode());
		result = prime * result + (this.v2 == null ? 0 : this.v2.hashCode());
		result = prime * result + (this.v3 == null ? 0 : this.v3.hashCode());
		return result;
	}

	@Override
	public String toString() {
		return this.v1 + "->" + this.v2 + "->" + this.v3;
	}
}

zj.common.VVVV<V1, V2, V3, V4>

package zj.common;

import lombok.Data;

/**
 * V1、V2、V3、V4值
 * 
 * @Description KV.java
 * @author 张军
 * @date 2017年10月10日 下午6:19:30
 * @version V1.0
 * @author SHNKCS 张军 {@link <a target=_blank href="http://www.zhangjunbk.com">张军个人网站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href="http://user.qzone.qq.com/360901061/">张军QQ空间</a>}
 */
@Data
// @EqualsAndHashCode(callSuper = true)
public class VVVV<V1, V2, V3, V4> {

	private V1 v1;

	private V2 v2;

	private V3 v3;

	private V4 v4;

	/**
	 * @see with(V1,V2,V3,V4)
	 */
	@Deprecated
	public VVVV() {
	}

	/**
	 * @see with(V1,V2,V3,V4)
	 */
	@Deprecated
	public VVVV(V1 v1, V2 v2, V3 v3, V4 v4) {
		this.v1 = v1;
		this.v2 = v2;
		this.v3 = v3;
		this.v4 = v4;
	}

	public static <V1, V2, V3, V4> VVVV<V1, V2, V3, V4> with(V1 v1, V2 v2, V3 v3, V4 v4) {
		return new VVVV<V1, V2, V3, V4>(v1, v2, v3, v4);
	}

	@SuppressWarnings("unchecked")
	@Override
	public boolean equals(Object obj) {
		try {
			if (this == obj) {
				return true;// 地址相等
			}
			if (obj == null) {
				return false;// 非空性:对于任意非空引用x,x.equals(null)应该返回false。
			}
			if (obj instanceof VVV) {
				VVVV<V1, V2, V3, V4> other = (VVVV<V1, V2, V3, V4>) obj;
				// 需要比较的字段相等,则这两个对象相等
				if (other.v1.equals(this.v1) && other.v2.equals(this.v2) && other.v3.equals(this.v3) && other.v4.equals(this.v4)) {
					return true;
				}
			}
		} catch (Exception e) {
			// 不做处理
		}
		return false;
	}

	@Override
	public int hashCode() {
		final int prime = 31;// 为什么是31?因为这个数需要是质数 31是经验验证的一个能够很好地减小哈希碰撞的质数
		int result = 17;
		result = prime * result + (this.v1 == null ? 0 : this.v1.hashCode());
		result = prime * result + (this.v2 == null ? 0 : this.v2.hashCode());
		result = prime * result + (this.v3 == null ? 0 : this.v3.hashCode());
		result = prime * result + (this.v4 == null ? 0 : this.v4.hashCode());
		return result;
	}

	@Override
	public String toString() {
		return this.v1 + "->" + this.v2 + "->" + this.v3 + "->" + this.v4;
	}
}



更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论