CARVIEW |
Select Language
HTTP/2 200
date: Fri, 25 Jul 2025 05:46:39 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"06dc70824210c25e33857e287aa14edb"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=q%2FjKi9UG8lB%2FCVYwdKpiOTlbOysBmLmY2foW1rxKZwp1j8ZqF6Vy5rpK3MqdB6gSV1Lqih9luQQBVDP2HPZr57ja9sdWqWfSqlYs%2BfX127yv%2FxC2x8Rrr6z8pFovd5uRoX%2BcSeQIEqfxXs9lOSXYLU7eDmjVB2UoRPJoVeyw22hXb65Biym3NWxkxddNdxeO5v0FNWN4%2BxRIOHH6MfJP%2FYPkQuWszWcf3YNV7OMo9%2BeNJXjFTTvvixdk6fb24HHkYmLRBFlXum4hFv4fRvFxkA%3D%3D--y9%2FX%2FPBirfufJjtV--LC7xKsjJFvflluPe5fTb2A%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.693284149.1753422398; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 05:46:38 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 05:46:38 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: D44E:36A896:2A9ACF:371E9A:68831A3E
Nested Mapping · jmapper-framework/jmapper-core Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 41
Nested Mapping
Alessandro Vurro edited this page Jun 8, 2016
·
13 revisions
It's possible define the nested mapping following a syntax equal to JSP Expression Language and placeholders currently used to define static/dynamic conversions: ${field.nestedField}
.
This allows to distinguish it from the normal mapping and regex usage.
public class Flatten {
@JMap("${nested2.nested3.nested4}")
private String field;
//get and set..
}
public class Nested {
private Nested2 nested2;
// get and set..
}
public class Nested2 {
private Nested3 nested3;
// get and set..
}
public class Nested3 {
private String nested4;
// get and set..
}
You can use nested mapping for destination or source in equal mode, the only thing that changes is the generated code.
In case of destination nested, the code generated is like this:
...
Nested2 nested2 = destination.getNested2();
if(nested2 == null){
nested2 = new Nested2();
}
Nested3 nested3 = nested2.getNested3();
if(nested3 == null){
nested3 = new Nested3();
}
...
In case of source nested:
...
Nested2 nested2 = null;
try{
nested2 = source.getNested2();
}catch(NullPointerException e){
Error.nestedBeanNull();
}
Nested3 nested3 = null;
try{
nested3 = nested2.getNested3();
}catch(NullPointerException e){
Error.nestedBeanNull();
}
...
The exception thrown contains a detailed message that permits to find fast the field that is null.
© 2016 Alessandro Vurro
- Home
- How to map
- Relations
- Conversions
- creation/enrichment
- XML
- Annotation
- API
- Configurations
- Utilities
- Examples
- Articles
- More information
- Performance tests
- Release Notes
Clone this wiki locally
You can’t perform that action at this time.