// ======================================================================== // Copyright (C) zeroth Project Team. All rights reserved. // GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 // http://www.gnu.org/licenses/agpl-3.0.txt // ======================================================================== package zeroth.framework.standard.shared; import org.apache.commons.lang3.builder.EqualsBuilder; /** * 値オブジェクト * @param <T> 値オブジェクト型 * @author nilcy */ public abstract class AbstractValueObject<T extends AbstractValueObject<T>> extends AbstractDataObject implements ValueObject<T> { /** 識別番号 */ private static final long serialVersionUID = 437387339515812017L; /** コンストラクタ */ public AbstractValueObject() { } /** * {@inheritDoc} * <p> * すべての属性値について同一性を自動的に確認する。ただし、一時項目(transient)は比較対象から除外とする。 * </p> */ @Override public boolean sameValueAs(final T other) { return EqualsBuilder.reflectionEquals(this, other, false); } }