protected void parseFormat()

in java/main/src/main/java/com/epam/deltix/hdtime/Parsers.java [651:679]


        protected void parseFormat(String fmt) {
            super.parseFormat(fmt);

            // "Smart" sign insertion
            ArrayList<Parseable> items = builder.items;
            int n = items.size();
            for (int i = 0; i < n; i++) {

                if (items.get(i) instanceof StaticField)
                    continue;

                Parseable f;
                String s;
                // More magic
                if (i > 0 && (f = items.get(i - 1)) instanceof StringField && (s = ((StringField)f).str).endsWith("0")) {
                    int j, m = s.length();
                    for (j = m - 1; j >= 0 && s.charAt(j) == '0'; --j) {}
                    if (0 == ++j) {
                        --i;
                    } else {
                        items.add(i, new StringField(s.substring(j)));
                        items.set(i - 1, new StringField(s.substring(0, j)));
                    }
                }

                items.add(i, new SignField());
                return;
            }
        }