Exemple #1
0
        public static DataRecord Read(String ln, RecordReader ins0)
        {
            if (ins0.Open("DataRecord"))
            {
                DataRecord record = new DataRecord();
                record.pl             = ins0.NamedIndex("pl", IBM.ICU.Impl.Duration.Impl.DataRecord.EPluralization.names);
                record.pluralNames    = ins0.StringTable("pluralName");
                record.genders        = ins0.NamedIndexArray("gender", IBM.ICU.Impl.Duration.Impl.DataRecord.EGender.names);
                record.singularNames  = ins0.StringArray("singularName");
                record.halfNames      = ins0.StringArray("halfName");
                record.numberNames    = ins0.StringArray("numberName");
                record.mediumNames    = ins0.StringArray("mediumName");
                record.shortNames     = ins0.StringArray("shortName");
                record.measures       = ins0.StringArray("measure");
                record.rqdSuffixes    = ins0.StringArray("rqdSuffix");
                record.optSuffixes    = ins0.StringArray("optSuffix");
                record.halves         = ins0.StringArray("halves");
                record.halfPlacements = ins0.NamedIndexArray("halfPlacement",
                                                             IBM.ICU.Impl.Duration.Impl.DataRecord.EHalfPlacement.names);
                record.halfSupport = ins0.NamedIndexArray("halfSupport",
                                                          IBM.ICU.Impl.Duration.Impl.DataRecord.EHalfSupport.names);
                record.fifteenMinutes         = ins0.String("fifteenMinutes");
                record.fiveMinutes            = ins0.String("fiveMinutes");
                record.requiresDigitSeparator = ins0.Bool("requiresDigitSeparator");
                record.digitPrefix            = ins0.String("digitPrefix");
                record.countSep           = ins0.String("countSep");
                record.shortUnitSep       = ins0.String("shortUnitSep");
                record.unitSep            = ins0.StringArray("unitSep");
                record.unitSepRequiresDP  = ins0.BoolArray("unitSepRequiresDP");
                record.requiresSkipMarker = ins0.BoolArray("requiresSkipMarker");
                record.numberSystem       = ins0.NamedIndex("numberSystem",
                                                            IBM.ICU.Impl.Duration.Impl.DataRecord.ENumberSystem.names);
                record.zero              = ins0.Character("zero");
                record.decimalSep        = ins0.Character("decimalSep");
                record.omitSingularCount = ins0.Bool("omitSingularCount");
                record.omitDualCount     = ins0.Bool("omitDualCount");
                record.zeroHandling      = ins0.NamedIndex("zeroHandling",
                                                           IBM.ICU.Impl.Duration.Impl.DataRecord.EZeroHandling.names);
                record.decimalHandling = ins0.NamedIndex("decimalHandling",
                                                         IBM.ICU.Impl.Duration.Impl.DataRecord.EDecimalHandling.names);
                record.fractionHandling = ins0.NamedIndex("fractionHandling",
                                                          IBM.ICU.Impl.Duration.Impl.DataRecord.EFractionHandling.names);
                record.skippedUnitMarker = ins0.String("skippedUnitMarker");
                record.allowZero         = ins0.Bool("allowZero");
                record.weeksAloneOnly    = ins0.Bool("weeksAloneOnly");
                record.useMilliseconds   = ins0.NamedIndex("useMilliseconds",
                                                           IBM.ICU.Impl.Duration.Impl.DataRecord.EMilliSupport.names);
                if (ins0.Open("ScopeDataList"))
                {
                    IList list = new ArrayList();     // of ScopeData
                    DataRecord.ScopeData data;
                    while (null != (data = IBM.ICU.Impl.Duration.Impl.DataRecord.ScopeData.Read(ins0)))
                    {
                        ILOG.J2CsMapping.Collections.Generics.Collections.Add(list, data);
                    }
                    if (ins0.Close())
                    {
                        record.scopeData = (DataRecord.ScopeData [])ILOG.J2CsMapping.Collections.Collections.ToArray(list, new DataRecord.ScopeData [list.Count]);
                    }
                }

                if (ins0.Close())
                {
                    return(record);
                }
            }
            else
            {
                throw new Exception("did not find DataRecord while reading "
                                    + ln);
            }
            throw new Exception("null data read while reading " + ln);
            // Thread.dumpStack();
            // return null;
        }