@Override protected TypeDefinition resolveType(final String descriptor, final boolean mightBePrimitive) { if (failedTypes.containsKey(descriptor)) return null; TypeDefinition result = resolveTypeInternal(descriptor, mightBePrimitive); if (result == null) failedTypes.put(descriptor, true); return result; }
@Override protected TypeDefinition resolveType(final String descriptor, final boolean mightBePrimitive) { if (failedTypes.containsKey(descriptor)) return null; TypeDefinition result = resolveTypeInternal(descriptor, mightBePrimitive); if (result == null) failedTypes.put(descriptor, true); return result; }
@Override public ByteArraySet remove(ByteArray foreignKey) { Preconditions.checkNotNull(foreignKey); ByteArraySet primaryKeys = getIndexEntry(foreignKey); if(primaryKeys != null) { state.delete(indexName, foreignKey.getBytes()); if(entryCache.containsKey(foreignKey)) { entryCache.remove(foreignKey); } if(pendingWrites.containsKey(foreignKey)) { pendingWrites.remove(foreignKey); } for(ByteArray primaryKey: primaryKeys) { removeRI(foreignKey, primaryKey); } } return primaryKeys; }
@Override public ByteArraySet getIndexEntry(ByteArray foreignKey) { Preconditions.checkNotNull(foreignKey); if(entryCache.containsKey(foreignKey)) { return entryCache.get(foreignKey); } else if(pendingWrites.containsKey(foreignKey)) { return pendingWrites.get(foreignKey); } else { byte[] bytes = state.get(indexName, foreignKey.getBytes()); if (bytes == null) { return null; } else { ByteArraySet set = ByteArraySet.deserialize(bytes); if(set.size() > LRU_CACHE_THRESHOLD) entryCache.put(foreignKey, set); return set; } } }
@Override public ByteArraySet getForeignKeys(ByteArray primaryKey) { if(entryRICache.containsKey(primaryKey)) { return entryRICache.get(primaryKey); } else if(pendingRIWrites.containsKey(primaryKey)) { return pendingRIWrites.get(primaryKey); } else { byte[] bytes = state.get(reverseIndexName, primaryKey.getBytes()); if (bytes == null) { return null; } else { ByteArraySet set = ByteArraySet.deserialize(bytes); if(set.size() > LRU_CACHE_THRESHOLD) entryRICache.put(primaryKey, set); return set; } } }
/** * Removes the given foreign key from the reverse index entry corresponding to the given primary key * @param foreignKey - The foreign key to remove * @param primaryKey - The primary key of the entry */ protected void removeRI(ByteArray foreignKey, ByteArray primaryKey) { ByteArraySet foreignKeys = getForeignKeys(primaryKey); if(foreignKeys != null) { foreignKeys.remove(foreignKey); if(foreignKeys.size() == 0) { state.delete(reverseIndexName, primaryKey.getBytes()); if(entryRICache.containsKey(primaryKey)) { entryRICache.remove(primaryKey); } if(pendingRIWrites.containsKey(primaryKey)) { pendingRIWrites.remove(primaryKey); } } else { putRIToState(primaryKey, foreignKeys); } } }
@Override public boolean remove(ByteArray foreignKey, ByteArray primaryKey) { Preconditions.checkNotNull(foreignKey); ByteArraySet primaryKeys = getIndexEntry(foreignKey); if(primaryKeys != null) { if(primaryKeys.remove(primaryKey)) { if(primaryKeys.size() == 0) { state.delete(indexName, foreignKey.getBytes()); if(entryCache.containsKey(foreignKey)) { entryCache.remove(foreignKey); } pendingWrites.remove(foreignKey); } else { putToState(foreignKey, primaryKeys); } removeRI(foreignKey, primaryKey); return true; } else { return false; } } else { return false; } }
if (ngramCache.containsKey(cacheKey)) { List<NGramModel> list = (List<NGramModel>) ngramCache.get(cacheKey); return list;