// ======================================================================== // 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.domain; /** * 否定(NOT)仕様オブジェクト * @param <T> チェック対象オブジェクト型 * @author nilcy */ public class NotSpecification<T> extends AbstractSpecification<T> { /** 仕様オブジェクト */ private final Specification<T> spec; /** * 否定(NOT)仕様のコンストラクタ * @param spec 仕様オブジェクト */ public NotSpecification(final Specification<T> spec) { this.spec = spec; } /** {@inheritDoc} */ @Override public boolean isSatisfiedBy(final T object) { return !this.spec.isSatisfiedBy(object); } }