org.apache.lucene.analysis

## Class NumericTokenStream.NumericTermAttributeImpl

- java.lang.Object
- - org.apache.lucene.util.AttributeImpl
  - - org.apache.lucene.analysis.NumericTokenStream.NumericTermAttributeImpl

- All Implemented Interfaces:
    Cloneable, NumericTokenStream.NumericTermAttribute, TermToBytesRefAttribute, Attribute
  Enclosing class:
    NumericTokenStream

      public static final class NumericTokenStream.NumericTermAttributeImpl
      extends AttributeImpl
      implements NumericTokenStream.NumericTermAttribute, TermToBytesRefAttribute

  Implementation of `NumericTokenStream.NumericTermAttribute`.
  Since:
    4.0
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NumericTokenStream.NumericTermAttributeImpl()` Creates, but does not yet initialize this attribute instance

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Clears the values in this AttributeImpl and resets it to its default value.
    `void` | `copyTo(AttributeImpl target)` Copies the values from this Attribute into the passed-in target attribute.
    `int` | `fillBytesRef()` Updates the bytes `TermToBytesRefAttribute.getBytesRef()` to contain this term's final encoding, and returns its hashcode.
    `BytesRef` | `getBytesRef()` Retrieve this attribute's BytesRef.
    `long` | `getRawValue()` Returns current token's raw value as `long` with all `NumericTokenStream.NumericTermAttribute.getShift()` applied, undefined before first token
    `int` | `getShift()` Returns current shift value, undefined before first token
    `int` | `getValueSize()` Returns value size in bits (32 for `float`, `int`; 64 for `double`, `long`)
    `int` | `incShift()` Don't call this method!
    `void` | `init(long value, int valueSize, int precisionStep, int shift)` Don't call this method!
    `void` | `reflectWith(AttributeReflector reflector)` This method is for introspection of attributes, it should simply add the key/values this attribute holds to the given `AttributeReflector`.
    `void` | `setShift(int shift)` Don't call this method!

    - ### Methods inherited from class org.apache.lucene.util.AttributeImpl

      `clone, reflectAsString`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NumericTokenStream.NumericTermAttributeImpl

          public NumericTokenStream.NumericTermAttributeImpl()

      Creates, but does not yet initialize this attribute instance
      See Also:
        `init(long, int, int, int)`

  - ### Method Detail

    - #### getBytesRef

          public BytesRef getBytesRef()

      Description copied from interface: `TermToBytesRefAttribute`
      Retrieve this attribute's BytesRef. The bytes are updated from the current term when the consumer calls `TermToBytesRefAttribute.fillBytesRef()`.
      Specified by:
        `getBytesRef` in interface `TermToBytesRefAttribute`
      Returns:
        this Attributes internal BytesRef.

    - #### fillBytesRef

          public int fillBytesRef()

      Description copied from interface: `TermToBytesRefAttribute`
      Updates the bytes `TermToBytesRefAttribute.getBytesRef()` to contain this term's final encoding, and returns its hashcode.
      Specified by:
        `fillBytesRef` in interface `TermToBytesRefAttribute`
      Returns:
        the hashcode as defined by `BytesRef.hashCode()`:

              int hash = 0;
              for (int i = termBytes.offset; i < termBytes.offset+termBytes.length; i++) {
                hash = 31*hash + termBytes.bytes[i];
              }

        Implement this for performance reasons, if your code can calculate the hash on-the-fly. If this is not the case, just return `termBytes.hashCode()`.

    - #### getShift

          public int getShift()

      Description copied from interface: `NumericTokenStream.NumericTermAttribute`
      Returns current shift value, undefined before first token
      Specified by:
        `getShift` in interface `NumericTokenStream.NumericTermAttribute`

    - #### setShift

          public void setShift(int shift)

      Description copied from interface: `NumericTokenStream.NumericTermAttribute`
      Don't call this method!
      Specified by:
        `setShift` in interface `NumericTokenStream.NumericTermAttribute`

    - #### incShift

          public int incShift()

      Description copied from interface: `NumericTokenStream.NumericTermAttribute`
      Don't call this method!
      Specified by:
        `incShift` in interface `NumericTokenStream.NumericTermAttribute`

    - #### getRawValue

          public long getRawValue()

      Description copied from interface: `NumericTokenStream.NumericTermAttribute`
      Returns current token's raw value as `long` with all `NumericTokenStream.NumericTermAttribute.getShift()` applied, undefined before first token
      Specified by:
        `getRawValue` in interface `NumericTokenStream.NumericTermAttribute`

    - #### getValueSize

          public int getValueSize()

      Description copied from interface: `NumericTokenStream.NumericTermAttribute`
      Returns value size in bits (32 for `float`, `int`; 64 for `double`, `long`)
      Specified by:
        `getValueSize` in interface `NumericTokenStream.NumericTermAttribute`

    - #### init

          public void init(long value,
                  int valueSize,
                  int precisionStep,
                  int shift)

      Description copied from interface: `NumericTokenStream.NumericTermAttribute`
      Don't call this method!
      Specified by:
        `init` in interface `NumericTokenStream.NumericTermAttribute`

    - #### clear

          public void clear()

      Description copied from class: `AttributeImpl`
      Clears the values in this AttributeImpl and resets it to its default value. If this implementation implements more than one Attribute interface it clears all.
      Specified by:
        `clear` in class `AttributeImpl`

    - #### reflectWith

          public void reflectWith(AttributeReflector reflector)

      Description copied from class: `AttributeImpl`
      This method is for introspection of attributes, it should simply add the key/values this attribute holds to the given `AttributeReflector`.

      The default implementation calls `AttributeReflector.reflect(java.lang.Class<? extends org.apache.lucene.util.Attribute>, java.lang.String, java.lang.Object)` for all non-static fields from the implementing class, using the field name as key and the field value as value. The Attribute class is also determined by reflection. Please note that the default implementation can only handle single-Attribute implementations.

      Custom implementations look like this (e.g. for a combined attribute implementation):

             public void reflectWith(AttributeReflector reflector) {
               reflector.reflect(CharTermAttribute.class, "term", term());
               reflector.reflect(PositionIncrementAttribute.class, "positionIncrement", getPositionIncrement());
             }

      If you implement this method, make sure that for each invocation, the same set of `Attribute` interfaces and keys are passed to `AttributeReflector.reflect(java.lang.Class<? extends org.apache.lucene.util.Attribute>, java.lang.String, java.lang.Object)` in the same order, but possibly different values. So don't automatically exclude e.g. `null` properties!

      Overrides:
        `reflectWith` in class `AttributeImpl`
      See Also:
        `AttributeImpl.reflectAsString(boolean)`

    - #### copyTo

          public void copyTo(AttributeImpl target)

      Description copied from class: `AttributeImpl`
      Copies the values from this Attribute into the passed-in target attribute. The target implementation must support all the Attributes this implementation supports.
      Specified by:
        `copyTo` in class `AttributeImpl`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.