Class LongsRef

java.lang.Object
org.apache.lucene.util.LongsRef
All Implemented Interfaces:
Cloneable, Comparable<LongsRef>

public final class LongsRef extends Object implements Comparable<LongsRef>, Cloneable
Represents long[], as a slice (offset + length) into an existing long[]. The longs member should never be null; use EMPTY_LONGS if necessary.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long[]
    An empty long array for convenience
    int
    Length of used longs.
    long[]
    The contents of the LongsRef.
    int
    Offset of first valid long.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a LongsRef with EMPTY_LONGS
    LongsRef(int capacity)
    Create a LongsRef pointing to a new array of size capacity.
    LongsRef(long[] longs, int offset, int length)
    This instance will directly reference longs w/o making a copy.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a shallow clone of this instance (the underlying longs are not copied and will be shared by both the returned object and this object.
    int
    Signed int order comparison
    static LongsRef
    Creates a new LongsRef that points to a copy of the longs from other
    boolean
    equals(Object other)
     
    int
     
    boolean
    Performs internal consistency checks.
    boolean
     
     

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • EMPTY_LONGS

      public static final long[] EMPTY_LONGS
      An empty long array for convenience
    • longs

      public long[] longs
      The contents of the LongsRef. Should never be null.
    • offset

      public int offset
      Offset of first valid long.
    • length

      public int length
      Length of used longs.
  • Constructor Details

    • LongsRef

      public LongsRef()
      Create a LongsRef with EMPTY_LONGS
    • LongsRef

      public LongsRef(int capacity)
      Create a LongsRef pointing to a new array of size capacity. Offset and length will both be zero.
    • LongsRef

      public LongsRef(long[] longs, int offset, int length)
      This instance will directly reference longs w/o making a copy. longs should not be null
  • Method Details

    • clone

      public LongsRef clone()
      Returns a shallow clone of this instance (the underlying longs are not copied and will be shared by both the returned object and this object.
      Overrides:
      clone in class Object
      See Also:
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • longsEquals

      public boolean longsEquals(LongsRef other)
    • compareTo

      public int compareTo(LongsRef other)
      Signed int order comparison
      Specified by:
      compareTo in interface Comparable<LongsRef>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • deepCopyOf

      public static LongsRef deepCopyOf(LongsRef other)
      Creates a new LongsRef that points to a copy of the longs from other

      The returned IntsRef will have a length of other.length and an offset of zero.

    • isValid

      public boolean isValid()
      Performs internal consistency checks. Always returns true (or throws IllegalStateException)