/** * Copyright (c) 2014-2017 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.eclipse.smarthome.binding.lifx.internal.fields; import java.nio.ByteBuffer; /** * A pseudo-uint64 field. Bytes will be stored directly in a long value, so * unexpected values will likely be shown if exposed to users. Most bit-level * operations should still work (addition, multiplication, shifting, etc). * * @author Tim Buckley */ public class UInt64Field extends Field<Long> { @Override public int defaultLength() { return 8; } @Override public Long value(ByteBuffer bytes) { return bytes.getLong(); } @Override protected ByteBuffer bytesInternal(Long value) { return ByteBuffer.allocate(8).putLong(value); } }