/* BooleanDataSpec.java Copyright (c) 2016 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.profile.spec; /** * Boolean型データの仕様. * * @author NTT DOCOMO, INC. */ public class BooleanDataSpec extends DConnectDataSpec { private final String TRUE = "true"; private final String FALSE = "false"; /** * コンストラクタ. */ BooleanDataSpec() { super(DataType.BOOLEAN); } @Override public boolean validate(final Object obj) { if (obj == null) { return true; } if (obj instanceof String) { String strParam = (String) obj; return TRUE.equalsIgnoreCase(strParam) || FALSE.equalsIgnoreCase(strParam); } else if (obj instanceof Boolean) { return true; } return false; } /** * {@link BooleanDataSpec}のビルダー. * * @author NTT DOCOMO, INC. */ public static class Builder { /** * {@link BooleanDataSpec}のインスタンスを生成する. * @return {@link BooleanDataSpec}のインスタンス */ public BooleanDataSpec build() { return new BooleanDataSpec(); } } }