/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.openhab.binding.insteonhub.internal.hardware.api.serial;
import org.openhab.binding.insteonhub.internal.hardware.InsteonHubMsgConst;
import org.openhab.binding.insteonhub.internal.util.InsteonHubByteUtil;
/**
* Parses Insteon Hub Standard Message flags from a byte bitset
*
* @author Eric Thill
* @since 1.4.0
*/
class InsteonHubStdMsgFlags {
private final boolean ack;
private final boolean broadcast;
private final boolean extended;
private final boolean group;
public InsteonHubStdMsgFlags(int bits) {
ack = InsteonHubByteUtil.checkBit(bits, InsteonHubMsgConst.STD_FLAG_BIT_ACK);
broadcast = InsteonHubByteUtil.checkBit(bits, InsteonHubMsgConst.STD_FLAG_BIT_BC_OR_NAK);
extended = InsteonHubByteUtil.checkBit(bits, InsteonHubMsgConst.STD_FLAG_BIT_EXT);
group = InsteonHubByteUtil.checkBit(bits, InsteonHubMsgConst.STD_FLAG_BIT_GROUP);
}
public boolean isAck() {
return ack;
}
public boolean isBroadcast() {
return broadcast;
}
public boolean isExtended() {
return extended;
}
public boolean isGroup() {
return group;
}
@Override
public String toString() {
return "InsteonHubStdMsgFlags [ack=" + ack + ", broadcast=" + broadcast + ", extended=" + extended + ", group="
+ group + "]";
}
}