Class PropertyExtractors.MapPropertyExtractor

java.lang.Object
org.apache.juneau.junit.bct.PropertyExtractors.ObjectPropertyExtractor
org.apache.juneau.junit.bct.PropertyExtractors.MapPropertyExtractor
All Implemented Interfaces:
PropertyExtractor
Enclosing class:
PropertyExtractors

Property extractor for Map objects with direct key access and size property.

This extractor extends PropertyExtractors.ObjectPropertyExtractor to add special handling for Map objects. It provides direct key-based property access and a universal size property for Map objects.

Map-Specific Properties:
  • Direct key access: Any property name that exists as a Map key
  • Size property: "size" returns map.size()
Supported Types:

Works with any object implementing the Map interface:

  • HashMap, LinkedHashMap: Standard Map implementations
  • TreeMap, ConcurrentHashMap: Specialized Map implementations
  • Properties: Java Properties objects
  • Custom Maps: Any Map implementation
Examples:

// Direct key access map.get("name") // "name" property map.get("timeout") // "timeout" property props.getProperty("key") // "key" property // Size access map.size() // "size" property

Key Priority:

Map key access takes priority over JavaBean properties. If a Map contains a key with the same name as a property/method, the Map value is returned first.

Fallback: If the property is not found as a Map key and is not "size", delegates to PropertyExtractors.ObjectPropertyExtractor for standard property access.