@@ -0,0 +1,1898 @@
+package giraudsa.marshall.serialisation.text.json.actions;%0A%0Aimport giraudsa.marshall.annotations.TypeRelation;%0Aimport giraudsa.marshall.exception.NotImplementedSerializeException;%0Aimport giraudsa.marshall.serialisation.text.json.ActionJson;%0Aimport giraudsa.marshall.serialisation.text.json.JsonMarshaller;%0Aimport utils.Constants;%0A%0Aimport java.io.IOException;%0Aimport java.lang.reflect.InvocationTargetException;%0Aimport java.util.ArrayList;%0Aimport java.util.Collection;%0Aimport java.util.Stack;%0A%0A@SuppressWarnings(%22rawtypes%22)%0Apublic class ActionJsonCollectionType extends ActionJson%3CCollection%3E %7B%0A%09%0A%09Class%3C?%3E _type;%0A%09%0A%09@Override%0A%09protected Class%3C?%3E getType(Collection obj) %7B%0A%09%09return (obj.getClass().getName().toLowerCase().indexOf(%22hibernate%22) != -1) ? ArrayList.class : obj.getClass();%0A%09%7D%0A%0A%09public ActionJsonCollectionType(JsonMarshaller jsonM) %7B%0A%09%09super(jsonM);%0A%09%7D%0A%09%0A%09@Override%0A%09protected boolean ouvreAccolade(Collection obj, boolean typeDevinable) throws IOException %7B%0A%09%09if(typeDevinable)%7B%0A%09%09%09write(%22%5B%22);%0A%09%09%7Delse%7B//type inconnu pour deserialisation%0A%09%09%09write(%22%7B%22);%0A%09%09%09ecritType(obj);%0A%09%09%09writeSeparator();%0A%09%09%09ecritClef(Constants.VALEUR);%0A%09%09%09write(%22%5B%22);%0A%09%09%7D%0A%09%09return false;%0A%09%7D%0A%09@Override%0A%09protected void fermeAccolade(Collection obj, boolean typeDevinable) throws IOException %7B%0A%09%09if(typeDevinable)%7B%0A%09%09%09write(%22%5D%22);%0A%09%09%7Delse%7B%0A%09%09%09write(%22%5D%7D%22);%0A%09%09%7D%0A%09%7D%0A%0A%09@Override%0A%09protected void ecritValeur(Collection obj, TypeRelation relation, boolean ecrisSeparateur) throws IOException, InstantiationException, IllegalAccessException,%0A%09%09%09IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, NotImplementedSerializeException %7B%0A%09%09Stack%3CComportement%3E tmp = new Stack%3C%3E();%0A%09%09for (Object value : obj) %7B%0A%09%09%09tmp.push(new ComportementMarshallValue(value, null, relation, false, ecrisSeparateur));%0A%09%09%09ecrisSeparateur = true;%0A%09%09%7D%0A%09%09pushComportements(tmp);//on remet dans l'ordre%0A%09%7D%0A%7D%0A

add missing Action