Interface SecurityRequirementMapper
- All Known Implementing Classes:
SecurityRequirementMapperImpl
Domain representation: List<SecurityRequirement> where each SecurityRequirement contains
a schemes map with scheme names as keys and scopes as values.
Proto representation: repeated SecurityRequirement where each SecurityRequirement has
map<string, StringList> schemes.
Example: A security requirement that allows either OAuth2 with read/write scopes OR API Key:
Domain: [
SecurityRequirement{schemes: {"oauth2": ["read", "write"]}},
SecurityRequirement{schemes: {"apiKey": []}}
]
Proto: [
SecurityRequirement{schemes: {"oauth2": StringList{values: ["read", "write"]}}},
SecurityRequirement{schemes: {"apiKey": StringList{values: []}}}
]
Manual Implementation Required: Handles complex nested structure (List<SecurityRequirement> ↔
repeated SecurityRequirement with map<string, StringList>) requiring manual iteration and StringList wrapper handling.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault List<SecurityRequirement>fromProto(List<SecurityRequirement> protoSecurity) Converts proto SecurityRequirement messages to domain security requirements.default SecurityRequirementmapSecurityRequirement(SecurityRequirement domainRequirement) Converts a single domain SecurityRequirement to a proto SecurityRequirement message.default List<SecurityRequirement>toProto(List<SecurityRequirement> domainSecurity) Converts domain security requirements to proto SecurityRequirement messages.
-
Field Details
-
INSTANCE
-
-
Method Details
-
mapSecurityRequirement
Converts a single domain SecurityRequirement to a proto SecurityRequirement message.MapStruct will call this method for each element when mapping the list.
- Parameters:
domainRequirement- domain SecurityRequirement with schemes map- Returns:
- SecurityRequirement proto message, or null if input is null
-
toProto
Converts domain security requirements to proto SecurityRequirement messages.Each SecurityRequirement in the domain list becomes one SecurityRequirement message in proto, representing one way to satisfy the security requirements (OR relationship between list items).
- Parameters:
domainSecurity- list of SecurityRequirement domain objects- Returns:
- list of SecurityRequirement proto messages, or null if input is null
-
fromProto
Converts proto SecurityRequirement messages to domain security requirements.- Parameters:
protoSecurity- list of SecurityRequirement proto messages- Returns:
- list of SecurityRequirement domain objects, or null if input is null
-