public byte toByte() { // base byte is 11110xxx or 0xf0, others injected byte value = (byte)0xf0; value |= alphabet.value(); value |= messageClass.value(); return value; }
public static Alphabet parseDataCoding(byte dataCoding) throws IllegalArgumentException { byte value = (byte)(dataCoding & MASK_ALPHABET); for (Alphabet val : values()) { if (val.value == value) return val; } throw new IllegalArgumentException("No enum const Alphabet with value " + value + " for dataCoding " + dataCoding); }
IndicationType indicationType, Alphabet alphabet) throws IllegalArgumentException { if (alphabet != null && (alphabet.isUnspecified() || alphabet.isReserved())) { throw new IllegalArgumentException( "Supported alphabet for SimpleDataCoding is one of "
public DataCoding newInstance(byte dataCoding) { // bit 3 is reserved, and set to 0 byte fixedDataCoding = (byte)(MASK_BIT3_REMOVAL & dataCoding); Alphabet alphabet = Alphabet.parseDataCoding(fixedDataCoding); MessageClass messageClass = MessageClass.parseDataCoding(fixedDataCoding); return new SimpleDataCoding(alphabet, messageClass); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((alphabet == null) ? 0 : alphabet.hashCode()); result = prime * result + (compressed ? 1231 : 1237); result = prime * result + ((messageClass == null) ? 0 : messageClass.hashCode()); return result; }
"Alphabet is mandatory, can't be null"); if (alphabet.equals(Alphabet.ALPHA_UCS2) || alphabet.isReserved()) { throw new IllegalArgumentException( "Supported alphabet for SimpleDataCoding does not include "
/** * Check if this is a valid alphabet or a reserved alphabet index. * * @return true if reserved, false if known */ public boolean isReserved() { return !isValid(); }
/** * Get the alphabet value. * * @return the alphabet value. */ public Alphabet getAlphabet() { return Alphabet.valueOf((byte)(value & MASK_ALPHABET)); }
public DataCoding newInstance(byte dataCoding) { // bit 3 is reserved, and set to 0 byte fixedDataCoding = (byte)(MASK_BIT3_REMOVAL & dataCoding); Alphabet alphabet = Alphabet.parseDataCoding(fixedDataCoding); MessageClass messageClass = MessageClass.parseDataCoding(fixedDataCoding); return new SimpleDataCoding(alphabet, messageClass); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((alphabet == null) ? 0 : alphabet.hashCode()); result = prime * result + (compressed ? 1231 : 1237); result = prime * result + ((messageClass == null) ? 0 : messageClass.hashCode()); return result; }
public static Alphabet parseDataCoding(byte dataCoding) throws IllegalArgumentException { byte value = (byte)(dataCoding & MASK_ALPHABET); for (Alphabet val : values()) { if (val.value == value) return val; } throw new IllegalArgumentException("No enum const Alphabet with value " + value + " for dataCoding " + dataCoding); }
/** * Compose data coding with specified alphabet. * * @param alphabet is the {@link Alphabet} */ public void setAlphabet(Alphabet alphabet) { byte tmp = cleanAlphabet(value); value = (byte)(tmp | alphabet.value()); }
public DataCoding newInstance(byte dataCoding) { // bit 3 is reserved, and set to 0 byte fixedDataCoding = (byte)(MASK_BIT3_REMOVAL & dataCoding); Alphabet alphabet = Alphabet.parseDataCoding(fixedDataCoding); MessageClass messageClass = MessageClass.parseDataCoding(fixedDataCoding); return new SimpleDataCoding(alphabet, messageClass); } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((alphabet == null) ? 0 : alphabet.hashCode()); result = prime * result + (compressed ? 1231 : 1237); result = prime * result + ((messageClass == null) ? 0 : messageClass.hashCode()); return result; }
/** * Get the enum constant associated with specified value. * * @param value is the value associated with the <tt>Alphabet</tt> enum * constant. * @return the associated enum constant. * @throws IllegalArgumentException if there is no associated enum constant * for given value. */ public static Alphabet valueOf(byte value) throws IllegalArgumentException { for (Alphabet val : values()) { if (val.value == value) return val; } throw new IllegalArgumentException("No enum const Alphabet with value " + value); }
public byte toByte() { byte value = compressed ? DataCodingFactory00xx.MASK_COMPRESSED : 0; value |= alphabet.value(); if (messageClass != null) { value |= DataCodingFactory00xx.MASK_CONTAIN_MESSAGE_CLASS; value |= messageClass.value(); } return value; }
public DataCoding newInstance(byte dataCoding) { boolean compressed = isCompressed(dataCoding); boolean containMessageClass = DataCodings.containsMessageClass(dataCoding); MessageClass messageClass = null; if (containMessageClass) { // ignore Message Class if the PDU has tell us no Message Class messageClass = MessageClass.parseDataCoding(dataCoding); } Alphabet alphabet = Alphabet.parseDataCoding(dataCoding); return new GeneralDataCoding(alphabet, messageClass, compressed); }