/** {@inheritDoc} */ @Override protected void orderItems() { int idx = 0; for (StringIdItem s : strings.values()) { s.setIndex(idx); idx++; } }
/** * Gets the index of the given string, which must have been added to this instance. * * @param string {@code non-null;} the string to look up * @return {@code >= 0;} the string's index */ public int indexOf(CstUtf8 string) { if (string == null) { throw new NullPointerException("string == null"); } throwIfNotPrepared(); StringIdItem s = strings.get(string); if (s == null) { throw new IllegalArgumentException("not found"); } return s.getIndex(); }
/** * Interns an element into this instance. * * @param string {@code non-null;} the string to intern * @return {@code non-null;} the interned string */ public StringIdItem intern(StringIdItem string) { if (string == null) { throw new NullPointerException("string == null"); } throwIfPrepared(); CstUtf8 value = string.getValue(); StringIdItem already = strings.get(value); if (already != null) { return already; } strings.put(value, string); return string; }