Codota Logo
OverwritingCircularBuffer.getRelative
Code IndexAdd Codota to your IDE (free)

How to use
getRelative
method
in
de.huxhorn.sulky.buffers.OverwritingCircularBuffer

Best Java code snippets using de.huxhorn.sulky.buffers.OverwritingCircularBuffer.getRelative (Showing top 15 results out of 315)

  • Common ways to obtain OverwritingCircularBuffer
private void myMethod () {
OverwritingCircularBuffer o =
  • Codota Iconnew OverwritingCircularBuffer<>(bufferSize)
  • Smart code suggestions by Codota
}
origin: huxi/sulky

@Override
public E get(long index)
{
  if(index < 0 || index >= size)
  {
    throw new IndexOutOfBoundsException("Invalid index " + index + "! Must be 0.." + (size - 1) + ".");
  }
  int realIndex = (int) (index - overflowCounter);
  if(realIndex < 0)
  {
    return null;
  }
  return getRelative(realIndex);
}
origin: de.huxhorn.sulky/de.huxhorn.sulky.buffers

@Override
public E get(long index)
{
  if(index < 0 || index >= size)
  {
    throw new IndexOutOfBoundsException("Invalid index " + index + "! Must be 0.." + (size - 1) + ".");
  }
  int realIndex = (int) (index - overflowCounter);
  if(realIndex < 0)
  {
    return null;
  }
  return getRelative(realIndex);
}
origin: de.huxhorn.sulky/de.huxhorn.sulky.buffers

@Override
public E getRelative(int index)
{
  lock.lock();
  try
  {
    return events.getRelative(index);
  }
  finally
  {
    lock.unlock();
  }
}
origin: huxi/sulky

@Override
public E getRelative(int index)
{
  lock.lock();
  try
  {
    return events.getRelative(index);
  }
  finally
  {
    lock.unlock();
  }
}
origin: de.huxhorn.sulky/de.huxhorn.sulky.buffers

private void writeObject(java.io.ObjectOutputStream s)
  throws java.io.IOException
{
  // Write out getBufferSize
  s.defaultWriteObject();
  // Write out getAvailableElements
  long availableElements = getAvailableElements();
  s.writeLong(availableElements);
  // Write out all elements
  for(int i = 0; i < availableElements; i++)
  {
    s.writeObject(getRelative(i));
  }
}
origin: huxi/sulky

private void writeObject(java.io.ObjectOutputStream s)
  throws java.io.IOException
{
  // Write out getBufferSize
  s.defaultWriteObject();
  // Write out getAvailableElements
  long availableElements = getAvailableElements();
  s.writeLong(availableElements);
  // Write out all elements
  for(int i = 0; i < availableElements; i++)
  {
    s.writeObject(getRelative(i));
  }
}
origin: de.huxhorn.sulky/de.huxhorn.sulky.buffers

@Override
public boolean equals(Object o)
{
  if(this == o) return true;
  if(o == null) return false;
  if(!(o instanceof CircularBuffer)) return false;
  final CircularBuffer that = (CircularBuffer) o;
  long availableElements = getAvailableElements();
  if(availableElements != that.getAvailableElements()) return false;
  for(int i = 0; i < availableElements; i++)
  {
    Object thisValue = getRelative(i);
    Object thatValue = that.getRelative(i);
    if(thisValue == null)
    {
      if(thatValue != null)
      {
        return false;
      }
    }
    else
    {
      if(!thisValue.equals(thatValue))
      {
        return false;
      }
    }
  }
  return true;
}
origin: huxi/sulky

@Override
public boolean equals(Object o)
{
  if(this == o) return true;
  if(o == null) return false;
  if(!(o instanceof CircularBuffer)) return false;
  final CircularBuffer that = (CircularBuffer) o;
  long availableElements = getAvailableElements();
  if(availableElements != that.getAvailableElements()) return false;
  for(int i = 0; i < availableElements; i++)
  {
    Object thisValue = getRelative(i);
    Object thatValue = that.getRelative(i);
    if(thisValue == null)
    {
      if(thatValue != null)
      {
        return false;
      }
    }
    else
    {
      if(!thisValue.equals(thatValue))
      {
        return false;
      }
    }
  }
  return true;
}
origin: huxi/sulky

@Test
public void addAllList()
{
  List<Long> values = new ArrayList<>();
  for(int i = 0; i < 4 * TEST_BUFFER_SIZE; i++)
  {
    values.add((long) i);
  }
  if(logger.isInfoEnabled()) logger.info("Adding values: {}", values);
  instance.addAll(values);
  if(logger.isInfoEnabled()) logger.info("Buffer after adding: {}", instance);
  assertFalse("Instance is empty!", instance.isEmpty());
  assertTrue("Instance isn't full!", instance.isFull());
  assertEquals("Size doesn't match!", TEST_BUFFER_SIZE, instance.getAvailableElements());
  assertEquals("getBufferSize doesn't match!", TEST_BUFFER_SIZE, instance.getBufferSize());
  long overflowCounter = instance.getOverflowCounter();
  assertEquals("overflowCounter doesn't match!", 3 * TEST_BUFFER_SIZE, overflowCounter);
  Iterator<Long> iterator = instance.iterator();
  assertTrue("iterator doesn't have next!", iterator.hasNext());
  for(int i = 0; i < TEST_BUFFER_SIZE; i++)
  {
    Long element = iterator.next();
    Long getRelativeValue = instance.getRelative(i);
    Long getValue = instance.get(i + overflowCounter);
    if(logger.isInfoEnabled()) logger.info("Element #{}: iterValue={}, getRelativeValue={}", i, element, getRelativeValue);
    assertEquals("Unexpected value returned by iterator!", (Long) (long) (i + 3 * TEST_BUFFER_SIZE), element);
    assertEquals("Iterator and getRelative values differ!", element, getRelativeValue);
    assertEquals("Iterator and get values differ!", element, getValue);
  }
}
origin: huxi/sulky

@Test
public void addAllArray()
{
  Long[] values = new Long[4 * TEST_BUFFER_SIZE];
  for(int i = 0; i < 4 * TEST_BUFFER_SIZE; i++)
  {
    values[i] = (long) i;
  }
  if(logger.isInfoEnabled()) logger.info("Adding values: {}", (Object)values);
  instance.addAll(values);
  if(logger.isInfoEnabled()) logger.info("Buffer after adding: {}", instance);
  assertFalse("Instance is empty!", instance.isEmpty());
  assertTrue("Instance isn't full!", instance.isFull());
  assertEquals("Size doesn't match!", TEST_BUFFER_SIZE, instance.getAvailableElements());
  assertEquals("getBufferSize doesn't match!", TEST_BUFFER_SIZE, instance.getBufferSize());
  long overflowCounter = instance.getOverflowCounter();
  assertEquals("overflowCounter doesn't match!", 3 * TEST_BUFFER_SIZE, overflowCounter);
  Iterator<Long> iterator = instance.iterator();
  assertTrue("iterator doesn't have next!", iterator.hasNext());
  for(int i = 0; i < TEST_BUFFER_SIZE; i++)
  {
    Long element = iterator.next();
    Long getRelativeValue = instance.getRelative(i);
    Long getValue = instance.get(i + overflowCounter);
    if(logger.isInfoEnabled()) logger.info("Element #{}: iterValue={}, getRelativeValue={}", i, element, getRelativeValue);
    assertEquals("Unexpected value returned by iterator!", (Long) (long) (i + 3 * TEST_BUFFER_SIZE), element);
    assertEquals("Iterator and getRelative values differ!", element, getRelativeValue);
    assertEquals("Iterator and get values differ!", element, getValue);
  }
}
origin: huxi/sulky

@Test
public void one()
{
  instance.add((long) 1);
  assertFalse("Instance is empty!", instance.isEmpty());
  assertFalse("Instance is full!", instance.isFull());
  assertEquals("Size doesn't match!", 1, instance.getAvailableElements());
  assertEquals("getBufferSize doesn't match!", TEST_BUFFER_SIZE, instance.getBufferSize());
  assertEquals("overflowCounter doesn't match!", 0, instance.getOverflowCounter());
  Iterator<Long> iterator = instance.iterator();
  assertTrue("iterator doesn't have next!", iterator.hasNext());
  Long element = iterator.next();
  Long getRelativeValue = instance.getRelative(0);
  Long getValue = instance.get(0);
  if(logger.isInfoEnabled()) logger.info("Element #{}: iterValue={}, getRelativeValue={}, getValue={}", 0, element, getRelativeValue, getValue);
  assertEquals("Unexpected value returned by iterator!", (Long) (long) 1, element);
  assertEquals("Iterator and getRelative values differ!", element, getRelativeValue);
  assertEquals("Iterator and get values differ!", element, getValue);
}
origin: huxi/sulky

@Test
public void overflowDouble()
{
  for(int i = 0; i < TEST_BUFFER_SIZE * 2; i++)
  {
    instance.add((long) i);
  }
  assertFalse("Instance is empty!", instance.isEmpty());
  assertTrue("Instance isn't full!", instance.isFull());
  assertEquals("Size doesn't match!", TEST_BUFFER_SIZE, instance.getAvailableElements());
  assertEquals("getBufferSize doesn't match!", TEST_BUFFER_SIZE, instance.getBufferSize());
  long overflowCounter = instance.getOverflowCounter();
  assertEquals("overflowCounter doesn't match!", TEST_BUFFER_SIZE, overflowCounter);
  Iterator<Long> iterator = instance.iterator();
  assertTrue("iterator doesn't have next!", iterator.hasNext());
  for(int i = 0; i < TEST_BUFFER_SIZE; i++)
  {
    Long element = iterator.next();
    Long getRelativeValue = instance.getRelative(i);
    Long getValue = instance.get(i + overflowCounter);
    if(logger.isInfoEnabled()) logger.info("Element #{}: iterValue={}, getRelativeValue={}", i, element, getRelativeValue);
    assertEquals("Unexpected value returned by iterator!", (Long) (long) (i + TEST_BUFFER_SIZE), element);
    assertEquals("Iterator and getRelative values differ!", element, getRelativeValue);
    assertEquals("Iterator and get values differ!", element, getValue);
  }
}
origin: huxi/sulky

@Test
public void full()
{
  for(int i = 0; i < TEST_BUFFER_SIZE; i++)
  {
    instance.add((long) i);
  }
  assertFalse("Instance is empty!", instance.isEmpty());
  assertTrue("Instance isn't full!", instance.isFull());
  assertEquals("Size doesn't match!", TEST_BUFFER_SIZE, instance.getAvailableElements());
  assertEquals("getBufferSize doesn't match!", TEST_BUFFER_SIZE, instance.getBufferSize());
  assertEquals("overflowCounter doesn't match!", 0, instance.getOverflowCounter());
  Iterator<Long> iterator = instance.iterator();
  assertTrue("iterator doesn't have next!", iterator.hasNext());
  for(int i = 0; i < TEST_BUFFER_SIZE; i++)
  {
    Long element = iterator.next();
    Long getRelativeValue = instance.getRelative(i);
    Long getValue = instance.get(i);
    if(logger.isInfoEnabled()) logger.info("Element #{}: iterValue={}, getRelativeValue={}", i, element, getRelativeValue);
    assertEquals("Unexpected value returned by iterator!", (Long) (long) i, element);
    assertEquals("Iterator and getRelative values differ!", element, getRelativeValue);
    assertEquals("Iterator and get values differ!", element, getValue);
  }
}
origin: huxi/sulky

@Test
public void nearlyFull()
{
  for(int i = 0; i < TEST_BUFFER_SIZE - 1; i++)
  {
    instance.add((long) i);
  }
  assertFalse("Instance is empty!", instance.isEmpty());
  assertFalse("Instance is full!", instance.isFull());
  assertEquals("Size doesn't match!", TEST_BUFFER_SIZE - 1, instance.getAvailableElements());
  assertEquals("getBufferSize doesn't match!", TEST_BUFFER_SIZE, instance.getBufferSize());
  assertEquals("overflowCounter doesn't match!", 0, instance.getOverflowCounter());
  Iterator<Long> iterator = instance.iterator();
  assertTrue("iterator doesn't have next!", iterator.hasNext());
  for(int i = 0; i < TEST_BUFFER_SIZE - 1; i++)
  {
    Long element = iterator.next();
    Long getRelativeValue = instance.getRelative(i);
    Long getValue = instance.get(i);
    if(logger.isInfoEnabled()) logger.info("Element #{}: iterValue={}, getRelativeValue={}", i, element, getRelativeValue);
    assertEquals("Unexpected value returned by iterator!", (Long) (long) i, element);
    assertEquals("Iterator and getRelative values differ!", element, getRelativeValue);
    assertEquals("Iterator and get values differ!", element, getValue);
  }
}
origin: huxi/sulky

@Test
public void overflowOne()
{
  for(int i = 0; i < TEST_BUFFER_SIZE; i++)
  {
    instance.add((long) i);
  }
  instance.add((long) TEST_BUFFER_SIZE);
  assertFalse("Instance is empty!", instance.isEmpty());
  assertTrue("Instance isn't full!", instance.isFull());
  assertEquals("Size doesn't match!", TEST_BUFFER_SIZE, instance.getAvailableElements());
  assertEquals("getBufferSize doesn't match!", TEST_BUFFER_SIZE, instance.getBufferSize());
  long overflowCounter = instance.getOverflowCounter();
  assertEquals("overflowCounter doesn't match!", 1, overflowCounter);
  Iterator<Long> iterator = instance.iterator();
  assertTrue("iterator doesn't have next!", iterator.hasNext());
  for(int i = 0; i < TEST_BUFFER_SIZE; i++)
  {
    Long element = iterator.next();
    Long getRelativeValue = instance.getRelative(i);
    Long getValue = instance.get(i + overflowCounter);
    if(logger.isInfoEnabled()) logger.info("Element #{}: iterValue={}, getRelativeValue={}", i, element, getRelativeValue);
    assertEquals("Unexpected value returned by iterator!", (Long) (long) (i + 1), element);
    assertEquals("Iterator and getRelative values differ!", element, getRelativeValue);
    assertEquals("Iterator and get values differ!", element, getValue);
  }
}
de.huxhorn.sulky.buffersOverwritingCircularBuffergetRelative

Popular methods of OverwritingCircularBuffer

  • <init>
  • add
  • get
  • getAvailableElements
  • getBufferSize
  • getSize
  • isEmpty
  • isFull
  • iterator
  • removeAll
  • removeFirst
  • reset
  • removeFirst,
  • reset,
  • clear,
  • internalAdd,
  • setRelative,
  • addAll,
  • getOverflowCounter

Popular in Java

  • Finding current android device location
  • scheduleAtFixedRate (Timer)
  • onCreateOptionsMenu (Activity)
  • getSupportFragmentManager (FragmentActivity)
    Return the FragmentManager for interacting with fragments associated with this activity.
  • InputStreamReader (java.io)
    An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes
  • Deque (java.util)
    A linear collection that supports element insertion and removal at both ends. The name deque is shor
  • Map (java.util)
    A Map is a data structure consisting of a set of keys and values in which each key is mapped to a si
  • Set (java.util)
    A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1
  • TreeMap (java.util)
    A Red-Black tree based NavigableMap implementation. The map is sorted according to the Comparable of
  • UUID (java.util)
    UUID is an immutable representation of a 128-bit universally unique identifier (UUID). There are mul
Codota Logo
  • Products

    Search for Java codeSearch for JavaScript codeEnterprise
  • IDE Plugins

    IntelliJ IDEAWebStormAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogCodota Academy Plugin user guide Terms of usePrivacy policyJava Code IndexJavascript Code Index
Get Codota for your IDE now