Package org.bct.api

Class PropertyExtractors.MapPropertyExtractor

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

public static class PropertyExtractors.MapPropertyExtractor extends PropertyExtractors.ObjectPropertyExtractor
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.

  • Constructor Details

    • MapPropertyExtractor

      public MapPropertyExtractor()
  • Method Details