Comments (10)
Indeed, there is no way to skip fields currently. Even newly introduced @GenerateAuxiliary have nothing to do with skipping attributes for marshaling.
@GenerateMarshaled(ignore = true)
is pretty straightforward, just like @Ignore
-like alternative.
BTW what do you think, should we prohibit ignoring attributes which are required to be set using builder? (so we able to unmarshal object back)
from immutables.
I was actually thinking about this just before I saw your email.
Assuming an attribute is ignored for response JSON marshaling, I would expect this attribute to be missing from the future incoming request JSON. In order to preserve existing pre-check conditions, I think it is reasonable to require that any ignored attribute also be optional.
Good 👍
@GenerateMarshaled(ignore = true)
public abstract Optional<String> name();
Bad 👎
@GenerateMarshaled(ignore = true)
public abstract String name();
Ideally, there would be a compile-time error explaining to the user what they did wrong.
from immutables.
BTW, what editor do you use? I was tinkering with the source code to see if "ignore" would even be feasible. Without syntax highlighting, I found it very easy to lose my place in those .tjs
.
from immutables.
Yeah, check for non-required attribute need to be added.
I'll stick to @GenerateMarshaled(ignore = true)
for now, but for some future releases I'm planning to revise it to something akin @Json.Ignore
along with other changes (see #29)
RE: BTW
I use Eclipse with no highlighting, still it's more readable and practical than markup-suited template engines imho. (I saw Google Auto'ers use additional newlines in *.vm to compensate for low readability, yuck..). @ivysharev was able to setup custom syntax in IDEA, just by making keywords: [if, [else, [/if, [elseif, [foreach, [/foreach, [template, [/template, [let, [/let, [apply, [require, and ]. I will look into sublime syntax sometime after.
Some thoughts about current and future templating could be found in #17.
from immutables.
I like the way you're thinking with #29.
from immutables.
It's implemented now in the new, yet to be released, version as @Json.Ignore
. I want to add some additional features/refinements, along with some documentation, before a release.
from immutables.
Good to know. Thanks!
Is 1.0 weeks away or months away?
from immutables.
I will release this new, significantly updated version this week, it will still be 0.3X.
For the 1.0 I want to have #15, and that could be archived in a month or so.
But anyway, those 0.3Xs will be stable enough with no breaking API changes planned for 1.0.
from immutables.
👍 thanks!
from immutables.
I dared to release 1.0 now rather than in a month, just enough of testing and polishing.
Look for @Json.Ignore
annotation. Be aware of other API changes. Thank you for reporting this! Other folks also requested ignore functionality, so it was just in time. Any feedback welcome.
from immutables.
Related Issues (20)
- allow builder method and protected constructor HOT 1
- allow Check to use private interface methods
- builder should return interface/abstract HOT 1
- Not passing through Bean Validation constraints on containers
- feature: constructor method that returns builder HOT 1
- Can I create a builder for an existing class that I don't control? HOT 1
- Custom Nullable annotations produce compilation errors HOT 1
- implementation type not visible when using @Criteria and ImplementationVisibility.PACKAGE
- @Value.Default
- How to reducing annotation clutter?
- Using strict builders gives Jackson deserialize failures
- Generated 'from' method has trouble with parameterized interfaces that declare properties HOT 2
- Issue with nested quotes in strings when using passAnnotations HOT 1
- Underriding toString will select invalid static method in preference to valid default method HOT 1
- cannot find annotations noise
- xor options HOT 2
- from method HOT 2
- "Sandwich" style immutables in combination with Jackson and Set-type properties leads to compile time warnings in generated code HOT 1
- passAnnotations patterns HOT 1
- Better Support for Jackson's @JsonSubTypes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from immutables.