Author: tchemit Date: 2009-10-04 01:06:18 +0200 (Sun, 04 Oct 2009) New Revision: 1550 Modified: trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/DefaultJAXXContext.java trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXContextEntryDef.java trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXInitialContext.java Log: - use generics - add javadoc - add 'add' method for a context entry def in JAXXInitialContext Modified: trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/DefaultJAXXContext.java =================================================================== --- trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/DefaultJAXXContext.java 2009-10-03 18:30:06 UTC (rev 1549) +++ trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/DefaultJAXXContext.java 2009-10-03 23:06:18 UTC (rev 1550) @@ -31,10 +31,10 @@ /** le context parent */ protected JAXXContext parentContext; /** les données contenues dans le context */ - protected final Map<JAXXContextEntryDef, Object> data; + protected final Map<JAXXContextEntryDef<?>, Object> data; public DefaultJAXXContext() { - data = new HashMap<JAXXContextEntryDef, Object>(); + data = new HashMap<JAXXContextEntryDef<?>, Object>(); } public DefaultJAXXContext(JAXXObject ui) { @@ -76,7 +76,7 @@ if (parentContext != null && parentContext.getClass() == clazz || PARENT_CONTEXT_ENTRY.accept(clazz, name)) { return (T) getParentContext(); } - for (Entry<JAXXContextEntryDef, Object> entry : data.entrySet()) { + for (Entry<JAXXContextEntryDef<?>, Object> entry : data.entrySet()) { if (entry.getKey().accept(clazz, name)) { return (T) entry.getValue(); } @@ -140,7 +140,7 @@ */ public String[] getKeys(Class<?> klass) { List<String> keys = new java.util.ArrayList<String>(); - for (JAXXContextEntryDef key : data.keySet()) { + for (JAXXContextEntryDef<?> key : data.keySet()) { if (key.getKlass() == klass) { keys.add(key.getName()); } @@ -172,8 +172,8 @@ setParentContext(null); return (T) old; } - JAXXContextEntryDef entry = null; - for (JAXXContextEntryDef entryDef : data.keySet()) { + JAXXContextEntryDef<?> entry = null; + for (JAXXContextEntryDef<?> entryDef : data.keySet()) { if (entryDef.accept(klazz, name)) { entry = entryDef; break; Modified: trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXContextEntryDef.java =================================================================== --- trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXContextEntryDef.java 2009-10-03 18:30:06 UTC (rev 1549) +++ trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXContextEntryDef.java 2009-10-03 23:06:18 UTC (rev 1550) @@ -8,6 +8,7 @@ * <p/> * Use the factory methods <code>newDef</code> and <code>newListDef</code< to obtain new instances. * + * @param <O> type of the entry associated to the definition * @author chemit */ public class JAXXContextEntryDef<O> implements java.io.Serializable { Modified: trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXInitialContext.java =================================================================== --- trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXInitialContext.java 2009-10-03 18:30:06 UTC (rev 1549) +++ trunk/jaxx-runtime-api/src/main/java/jaxx/runtime/JAXXInitialContext.java 2009-10-03 23:06:18 UTC (rev 1550) @@ -31,7 +31,7 @@ * @return the instance of the context */ public JAXXInitialContext add(Object value) { - return add(null, value); + return add((String) null, value); } /** @@ -47,6 +47,19 @@ } /** + * Register a named value in the context. + * + * @param <O> type of data to add + * @param def definition of entry + * @param value the value to registred + * @return the instance of the context + */ + public <O> JAXXInitialContext add(JAXXContextEntryDef<O> def, O value) { + def.setContextValue(this, value); + return this; + } + + /** * Inject all the registed values into the {@link JAXXObject} * * @param dst the object to fill. @@ -55,7 +68,7 @@ if (parentContext != null) { dst.setContextValue(parentContext); } - for (Entry<JAXXContextEntryDef, Object> entry : data.entrySet()) { + for (Entry<JAXXContextEntryDef<?>, Object> entry : data.entrySet()) { dst.setContextValue(entry.getValue(), entry.getKey().getName()); } } @@ -89,5 +102,4 @@ public <O extends Container> O getParentContainer(Object top, Class<O> clazz) { throw new RuntimeException("not implemented"); } - }
participants (1)
-
tchemit@users.nuiton.org