core/src/main/java/com/orientechnologies/orient/core/storage/impl/local/OAbstractPaginatedStorage.java
@SuppressWarnings("UnusedReturnValue")
  public boolean validatedPutIndexValue(int indexId, final Object key, final ORID value,
      final OBaseIndexEngine.Validator<Object, ORID> validator) throws OInvalidIndexEngineIdException {
    indexId = extractInternalId(indexId);

    try {
      if (transaction.get() != null) {
        return doValidatedPutIndexValue(indexId, key, value, validator);
      }

      checkOpenness();

      stateLock.acquireReadLock();
      try {
        checkOpenness();

        checkLowDiskSpaceRequestsAndReadOnlyConditions();

        return doValidatedPutIndexValue(indexId, key, value, validator);
      } finally {
        stateLock.releaseReadLock();
      }
    } catch (final OInvalidIndexEngineIdException ie) {
      throw logAndPrepareForRethrow(ie);
    } catch (final RuntimeException ee) {
      throw logAndPrepareForRethrow(ee);
    } catch (final Error ee) {
      throw logAndPrepareForRethrow(ee);
    } catch (final Throwable t) {
      throw logAndPrepareForRethrow(t);
    }
  }
@SuppressWarnings("UnusedReturnValue")
  public boolean validatedPutIndexValue(int indexId, final Object key, final ORID value,
      final OBaseIndexEngine.Validator<Object, ORID> validator) throws OInvalidIndexEngineIdException {
    indexId = extractInternalId(indexId);

    try {
      if (transaction.get() != null) {
        return doValidatedPutIndexValue(indexId, key, value, validator);
      }

      checkOpenness();

      stateLock.acquireReadLock();
      try {
        checkOpenness();

        checkLowDiskSpaceRequestsAndReadOnlyConditions();

        return doValidatedPutIndexValue(indexId, key, value, validator);
      } finally {
        stateLock.releaseReadLock();
      }
    } catch (final OInvalidIndexEngineIdException ie) {
      throw logAndPrepareForRethrow(ie);
    } catch (final RuntimeException ee) {
      throw logAndPrepareForRethrow(ee);
    } catch (final Error ee) {
      throw logAndPrepareForRethrow(ee);
    } catch (final Throwable t) {
      throw logAndPrepareForRethrow(t);
    }
  }
@ SuppressWarnings ( "UnusedReturnValue" ) public boolean validatedPutIndexValue ( int indexId , final Object key , final ORID value , final OBaseIndexEngine . Validator < Object , ORID > validator ) throws OInvalidIndexEngineIdException { indexId = extractInternalId ( indexId ) ; try { if ( transaction . get ( ) != null ) { return doValidatedPutIndexValue ( indexId , key , value , validator ) ; } checkOpenness ( ) ; stateLock . acquireReadLock ( ) ; try { checkOpenness ( ) ; checkLowDiskSpaceRequestsAndReadOnlyConditions ( ) ; return doValidatedPutIndexValue ( indexId , key , value , validator ) ; } finally { stateLock . releaseReadLock ( ) ; } } catch ( final OInvalidIndexEngineIdException ie ) { throw logAndPrepareForRethrow ( ie ) ; } catch ( final RuntimeException ee ) { throw logAndPrepareForRethrow ( ee ) ; } catch ( final Error ee ) { throw logAndPrepareForRethrow ( ee ) ; } catch ( final Throwable t ) { throw logAndPrepareForRethrow ( t ) ; } }
Puts the given value under the given key into this storage for the index with the given index id. Validates the operation using
the provided validator.

@param indexId   the index id of the index to put the value into.
@param key       the key to put the value under.
@param value     the value to put.
@param validator the operation validator.

@return {@code true} if the validator allowed the put, {@code false} otherwise.

@see OBaseIndexEngine.Validator#validate(Object, Object, Object)
Puts the given value under the given key into this storage for the index with the given index id . Validates the operation using the provided validator .