Package com.tnsai.context.entity.impl
Class InMemoryEntityResolver
java.lang.Object
com.tnsai.context.entity.impl.InMemoryEntityResolver
- All Implemented Interfaces:
com.tnsai.context.entity.EntityResolver
public class InMemoryEntityResolver
extends Object
implements com.tnsai.context.entity.EntityResolver
In-memory implementation of EntityResolver for development and testing.
This implementation stores entities in memory using thread-safe ConcurrentHashMap structures. It is suitable for development, testing, and scenarios where persistence is not required.
Thread Safety
All operations are thread-safe using ConcurrentHashMap.Usage Example
EntityResolver resolver = new InMemoryEntityResolver();
// Register sources
resolver.registerSource(EntitySource.builder()
.id("salesforce")
.name("Salesforce CRM")
.type(EntitySource.SourceType.CRM)
.priority(1)
.build());
// Store entity
Entity customer = Entity.builder()
.id("cust-123")
.type(EntityType.CUSTOMER)
.attribute("name", "Acme Corp", "salesforce", 0.95)
.build();
resolver.store(customer);
// Resolve
Optional<Entity> resolved = resolver.resolve("cust-123");
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.tnsai.context.entity.EntityResolver
com.tnsai.context.entity.EntityResolver.ResolverStatistics -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears all entities and sources.booleanList<com.tnsai.context.entity.Entity> findPotentialDuplicates(com.tnsai.context.entity.Entity entity, double similarityThreshold) Optional<com.tnsai.context.entity.EntitySource> List<com.tnsai.context.entity.EntitySource> com.tnsai.context.entity.EntityResolver.ResolverStatisticsList<com.tnsai.context.entity.Entity> listBySource(String sourceId) List<com.tnsai.context.entity.Entity> listByType(com.tnsai.context.entity.EntityType type) com.tnsai.context.entity.EntitymergeEntities(List<com.tnsai.context.entity.Entity> candidates, com.tnsai.context.entity.ConflictResolution strategy) voidregisterSource(com.tnsai.context.entity.EntitySource source) Optional<com.tnsai.context.entity.Entity> com.tnsai.context.entity.EntityResolutionResultresolveByAttributes(Map<String, Object> attributes) List<com.tnsai.context.entity.Entity> searchByAttribute(String attributeName, Object attributeValue) voidstore(com.tnsai.context.entity.Entity entity) voidbooleanunregisterSource(String sourceId) Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.tnsai.context.entity.EntityResolver
resolveByAttributes
-
Constructor Details
-
InMemoryEntityResolver
public InMemoryEntityResolver()
-
-
Method Details
-
resolve
- Specified by:
resolvein interfacecom.tnsai.context.entity.EntityResolver
-
resolveByAttributes
public com.tnsai.context.entity.EntityResolutionResult resolveByAttributes(Map<String, Object> attributes) - Specified by:
resolveByAttributesin interfacecom.tnsai.context.entity.EntityResolver
-
registerSource
public void registerSource(com.tnsai.context.entity.EntitySource source) - Specified by:
registerSourcein interfacecom.tnsai.context.entity.EntityResolver
-
unregisterSource
- Specified by:
unregisterSourcein interfacecom.tnsai.context.entity.EntityResolver
-
getSources
- Specified by:
getSourcesin interfacecom.tnsai.context.entity.EntityResolver
-
getSource
- Specified by:
getSourcein interfacecom.tnsai.context.entity.EntityResolver
-
store
public void store(com.tnsai.context.entity.Entity entity) - Specified by:
storein interfacecom.tnsai.context.entity.EntityResolver
-
store
- Specified by:
storein interfacecom.tnsai.context.entity.EntityResolver
-
delete
- Specified by:
deletein interfacecom.tnsai.context.entity.EntityResolver
-
mergeEntities
public com.tnsai.context.entity.Entity mergeEntities(List<com.tnsai.context.entity.Entity> candidates, com.tnsai.context.entity.ConflictResolution strategy) - Specified by:
mergeEntitiesin interfacecom.tnsai.context.entity.EntityResolver
-
findPotentialDuplicates
public List<com.tnsai.context.entity.Entity> findPotentialDuplicates(com.tnsai.context.entity.Entity entity, double similarityThreshold) - Specified by:
findPotentialDuplicatesin interfacecom.tnsai.context.entity.EntityResolver
-
listByType
- Specified by:
listByTypein interfacecom.tnsai.context.entity.EntityResolver
-
listBySource
- Specified by:
listBySourcein interfacecom.tnsai.context.entity.EntityResolver
-
searchByAttribute
public List<com.tnsai.context.entity.Entity> searchByAttribute(String attributeName, Object attributeValue) - Specified by:
searchByAttributein interfacecom.tnsai.context.entity.EntityResolver
-
getStatistics
public com.tnsai.context.entity.EntityResolver.ResolverStatistics getStatistics()- Specified by:
getStatisticsin interfacecom.tnsai.context.entity.EntityResolver
-
clear
public void clear()Clears all entities and sources. Useful for testing.
-