Package org.stringtemplate.v4
Interface ModelAdaptor<T>
- Type Parameters:
T
- the type of values this adaptor can handle.
- All Known Implementing Classes:
AggregateModelAdaptor
,MapModelAdaptor
,ObjectModelAdaptor
,STModelAdaptor
public interface ModelAdaptor<T>
An object that knows how to convert property references to appropriate
actions on a model object. Some models, like JDBC, are interface based (we
aren't supposed to care about implementation classes). Some other models
don't follow StringTemplate's getter method naming convention. So, if we have
an object of type
M
with property method M.foo()
(as opposed
to M.getFoo()
), we can register a model adaptor object, adap
,
that converts a lookup for property foo
into a call to
M.foo()
.
Given <a.foo>
, we look up foo
via the adaptor if
a instanceof M
.
-
Method Summary
Modifier and TypeMethodDescriptiongetProperty
(Interpreter interp, ST self, T model, Object property, String propertyName) Lookup property name ino
and return its value.
-
Method Details
-
getProperty
Object getProperty(Interpreter interp, ST self, T model, Object property, String propertyName) throws STNoSuchPropertyException Lookup property name ino
and return its value.property
is normally aString
but doesn't have to be. E.g., ifo
isMap
,property
could be any key type. If we need to convert toString
, then it's done byST
and passed in here.- Throws:
STNoSuchPropertyException
-