Comments (5)
I see it.
Issues #17 solve one part of the problem, but not what you're trying to do. A have one question for you:
- In your custom Context, are you dealing with the context stack? what about the rules behind the context stack? or are you just resolving the value from a field?
From my perspective, a user should never never need to create a custom Context (that is why #17 was created).
A different/safe approach will be the extend the context API with the ability to let client to resolve value and reuse all the context stack rules. This also means:
- Context will be a final class
- You can provide custom "lookup" or value resolver (method, fields, map, etc.)
What do you think?
Thanks
from handlebars.java.
It sounds good. My context implementation had way too much code copied from your ContextImpl anyway.
from handlebars.java.
fixed in 0.2.0. The jar is in maven central. I'll write the release notes later today
Oh, have a look to the README, specially the Advanced usage section
from handlebars.java.
It's perfect...
except :-) for the Context.newContext() call in DefaultOptions.apply() where I can't find a way to add the FieldValueResolver that I want. So
{{#each users}} {{.name}} {{/each}}
works only if the User class have a getName(), not if 'name' is a field.
from handlebars.java.
good catch! All the issues are more or less related to making public "Context", I have to review Options#apply and Template#apply.
wait for the next release, everything will be working as expected!
from handlebars.java.
Related Issues (20)
- Improve context extensibility
- Question: Custom classpath loader for bundles
- Inline Partials allow infinite recursion
- Unexpected IllegalArgumentException using an inline template and a custom Writer
- Whitespace trimming does not work on partial blocks HOT 1
- Can't find any helper to do sum of field in list
- Ambiguity in a Helper function's first parameter
- The Options.params array omits the first parameter in a Helper
- Expressions that start with numbers fail parsing
- [StringHelpers] Add support for Calendar in dateFormat
- Java Helpers Converted to Javascript Helpers HOT 1
- Broken feature: `EnumMap` lookup HOT 1
- Escaping expressions (ESC_VAR) does not work for raw vars or any custom delimiter
- Dependency commons-text not shown in gradle and web UI
- I can't build successfully, why? I use jdk 8 HOT 1
- Handle Bars for Android
- Helpers without context fail to render correctly
- Curly braces parser greediness
- 4.4.0 breaks Java 8 support
- If-Else block allow multiple else blocks
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 handlebars.java.