[hibernate-dev] EMF / EM properties
Hardy Ferentschik
hibernate at ferentschik.de
Wed Feb 3 13:50:32 EST 2010
I believe Steve is on the right track. As he is saying
http://pastebin.com/m6add9d4b
describes the "second pull" approach which he have been talking about in
one of the earlier
mails. This is very similar to what I had in mind as well, except I
thought about sub-classing
java.util.Properties.
--Hardy
On Wed, 03 Feb 2010 14:26:59 -0300, Steve Ebersole <steve at hibernate.org>
wrote:
> I specifically said I did not want to "consolidate the constants in a
> single place". Not in terms of this anyway. Because we will not know
> them all ahead of time. Again, I don't see the difference between what
> you mention and what would be needed for caching.
>
> Emmanuel was asking specifically about the specific "second pull
> approach", which is the context of my answer. There, given the way
> y'all decided to form these property names, the only real option is to
> process all properties starting with "hibernate.search" since that's the
> most common base.
>
> For caching (and search would fit here), I'd expect something like:
>
> interface PropertyConsumer {
> public boolean consumes(String name);
> public void consume(String name, Object value);
> }
>
> class ConfigPropertySet {
> ...
>
> void consumeProperties(PropertyConsumer consumer) {
> Iterator itr = fullPropertySet.entries().iterator();
> while ( itr.hasNext() ) {
> Map.Entry entry = (Map.Entry) itr.next();
> final String name = entry.getKey();
> if ( consumer.consumes( name ) ) {
> register( name, entry.getValue() ):
> consumer.consume( name, entry.getValue() );
> }
> }
> }
> }
>
> Or maybe even just:
>
> interface PropertyConsumer {
> public boolean consume(String name, Object value);
> }
>
> class ConfigPropertySet {
> ...
>
> void consumeProperties(PropertyConsumer consumer) {
> Iterator itr = fullPropertySet.entries().iterator();
> while ( itr.hasNext() ) {
> Map.Entry entry = (Map.Entry) itr.next();
> final String name = entry.getKey();
> if ( consumer.consume( name, entry.getValue() ) ) {
> register( name, entry.getValue() ):
> }
> }
> }
> }
More information about the hibernate-dev
mailing list