congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
OverwritingCircularBuffer.getRelative
Code IndexAdd Tabnine 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)

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 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 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 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

  • Making http post requests using okhttp
  • scheduleAtFixedRate (ScheduledExecutorService)
  • orElseThrow (Optional)
    Return the contained value, if present, otherwise throw an exception to be created by the provided s
  • notifyDataSetChanged (ArrayAdapter)
  • Window (java.awt)
    A Window object is a top-level window with no borders and no menubar. The default layout for a windo
  • BufferedInputStream (java.io)
    A BufferedInputStream adds functionality to another input stream-namely, the ability to buffer the i
  • Calendar (java.util)
    Calendar is an abstract base class for converting between a Date object and a set of integer fields
  • LinkedList (java.util)
    Doubly-linked list implementation of the List and Dequeinterfaces. Implements all optional list oper
  • BasicDataSource (org.apache.commons.dbcp)
    Basic implementation of javax.sql.DataSource that is configured via JavaBeans properties. This is no
  • Runner (org.openjdk.jmh.runner)
  • Top 12 Jupyter Notebook extensions
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now