core/src/main/java/com/orientechnologies/orient/core/db/document/ODatabaseDocumentAbstract.java
public <DB extends ODatabase<?>> DB registerHook(final ORecordHook iHookImpl, final ORecordHook.HOOK_POSITION iPosition) {
    checkOpenness();
    checkIfActive();

    final Map<ORecordHook, ORecordHook.HOOK_POSITION> tmp = new LinkedHashMap<ORecordHook, ORecordHook.HOOK_POSITION>(hooks);
    tmp.put(iHookImpl, iPosition);
    hooks.clear();
    for (ORecordHook.HOOK_POSITION p : ORecordHook.HOOK_POSITION.values()) {
      for (Map.Entry<ORecordHook, ORecordHook.HOOK_POSITION> e : tmp.entrySet()) {
        if (e.getValue() == p)
          hooks.put(e.getKey(), e.getValue());
      }
    }

    compileHooks();

    return (DB) this;
  }
public <DB extends ODatabase<?>> DB registerHook(final ORecordHook iHookImpl, final ORecordHook.HOOK_POSITION iPosition) {
    checkOpenness();
    checkIfActive();

    final Map<ORecordHook, ORecordHook.HOOK_POSITION> tmp = new LinkedHashMap<ORecordHook, ORecordHook.HOOK_POSITION>(hooks);
    tmp.put(iHookImpl, iPosition);
    hooks.clear();
    for (ORecordHook.HOOK_POSITION p : ORecordHook.HOOK_POSITION.values()) {
      for (Map.Entry<ORecordHook, ORecordHook.HOOK_POSITION> e : tmp.entrySet()) {
        if (e.getValue() == p)
          hooks.put(e.getKey(), e.getValue());
      }
    }

    compileHooks();

    return (DB) this;
  }
public < DB extends ODatabase < ? > > DB registerHook ( final ORecordHook iHookImpl , final ORecordHook . HOOK_POSITION iPosition ) { checkOpenness ( ) ; checkIfActive ( ) ; final Map < ORecordHook , ORecordHook . HOOK_POSITION > tmp = new LinkedHashMap < ORecordHook , ORecordHook . HOOK_POSITION > ( hooks ) ; tmp . put ( iHookImpl , iPosition ) ; hooks . clear ( ) ; for ( ORecordHook . HOOK_POSITION p : ORecordHook . HOOK_POSITION . values ( ) ) { for ( Map . Entry < ORecordHook , ORecordHook . HOOK_POSITION > e : tmp . entrySet ( ) ) { if ( e . getValue ( ) == p ) hooks . put ( e . getKey ( ) , e . getValue ( ) ) ; } } compileHooks ( ) ; return ( DB ) this ; }
{@inheritDoc}
{