private static TemplateSerial createComposite( Object _value, bool _isKey, String _field, bool _isComparator) { if (_isComparator) { if (_value is IComparer) { ComparatorSerial serializableFieldBis_ = new ComparatorSerial((IComparer)_value); serializableFieldBis_.setKeyOfMap(_isKey); serializableFieldBis_.setField(_field); return(serializableFieldBis_); } return(null); } if (_value.GetType().IsArray) { ArraySerial serializableFieldTer_ = new ArraySerial((Array)_value); serializableFieldTer_.setKeyOfMap(_isKey); serializableFieldTer_.setField(_field); return(serializableFieldTer_); } ObjectSerial serializableField_ = new ObjectSerial(_value); serializableField_.setKeyOfMap(_isKey); serializableField_.setField(_field); return(serializableField_); }
public static ArraySerial newListSerial(XmlNode _node) { if (!_node.Name.Equals(ARRAY)) { //throw new ClassFoundException(_node.getNodeName(), ARRAY); throw new ClassFoundException(); } XmlNamedNodeMap map_ = _node.Attributes; // if (map_ == null) { // throw new NoAttributeForSerializable(_node.getNodeName()); // } XmlNode className_ = map_.GetNamedItem(CLASS); XmlNode typeName_ = map_.GetNamedItem(ELEMENT_TYPE); if (typeName_ == null) { //throw new NoAttributeForSerializable(ELEMENT_TYPE, _node.getNodeName()); throw new NoAttributeForSerializable(); } ArraySerial listSerial_ = new ArraySerial(); Type class_; String typeValue_ = typeName_.Value; try { class_ = Constants.classForName(typeValue_); } catch (Exception e_) { throw e_; // if (typeValue_.equalsIgnoreCase(long.class.getName())) { // class_ = long.class; // } else if (typeValue_.equalsIgnoreCase(int.class.getName())) { // class_ = int.class; // } else if (typeValue_.equalsIgnoreCase(short.class.getName())) { // class_ = short.class; // } else if (typeValue_.equalsIgnoreCase(byte.class.getName())) { // class_ = byte.class; // } else if (typeValue_.equalsIgnoreCase(char.class.getName())) { // class_ = char.class; // } else if (typeValue_.equalsIgnoreCase(float.class.getName())) { // class_ = float.class; // } else if (typeValue_.equalsIgnoreCase(double.class.getName())) { // class_ = double.class; // } else if (typeValue_.equalsIgnoreCase(boolean.class.getName())) { // class_ = boolean.class; // } else { // throw e_; // } } listSerial_.array = Array.CreateInstance(class_, _node.ChildNodes.Count); XmlNode field_ = map_.GetNamedItem(FIELD); if (field_ != null) { listSerial_.setField(field_.Value); } XmlNode keyOfMap_ = map_.GetNamedItem(KEY); if (keyOfMap_ != null) { listSerial_.setKeyOfMap(true); } if (className_ != null) { listSerial_.setClassName(className_.Value); } return(listSerial_); }