public ModelModule addStrongName(final String strongName) { strongNames.add(strongName); return this; }
@Override public T next() { return source.at(pos++); } @Override
@Override public boolean contains(final IntTo<X> value) { if (value == null) { return false; } main: for (final IntTo<X> item : map.values()) { if (item.size() == value.size()) { for (int i = item.size(); i-->0;) { if (!equals(item.get(i), value.get(i))) { continue main; } } return true; } } return false; }
public static CharBuffer serialize(final CharBuffer into, final ModelModule module, final PrimitiveSerializer primitives) { // Append the uuid, as a string (using a leading size for deserialization purposes) into.append(primitives.serializeString(module.getUuid())); into.append(primitives.serializeInt(module.strongNames.size())); for (final String strongName : module.strongNames.forEach()) { into.append(primitives.serializeString(strongName)); } into.append(module.calculateSerialization(primitives)); return into; }
@Override public boolean hasNext() { return pos < source.size(); } @Override
public static <V> IntTo<V> asList(@SuppressWarnings("unchecked") final V ... elements) { @SuppressWarnings("unchecked") final Class<V> cls = Class.class.cast(elements.getClass().getComponentType()); final IntTo<V> list = service.newList(cls, MUTABLE_LIST); for (final V item : elements) { list.push(item); } return list; }
@Override public void remove() { if (source.remove(pos-1)) { pos--; } } }
public String[] getStrongNames() { return strongNames.toArray(); } /**
public static <V> IntTo<V> asSet(@SuppressWarnings("unchecked") final V ... elements) { @SuppressWarnings("unchecked") final IntTo<V> list = (IntTo<V>)newSet(elements.getClass().getComponentType()); for (final V item : elements) { list.push(item); } return list; }
@Override public int indexOf(final IntTo<X> value) { if (value == null) { return -1; } final String[] keys = map.keyArray(); main: for (int i = keys.length; i-->0;) { final String key = keys[i]; final IntTo<X> item = map.get(key); if (item.size() == value.size()) { for (int j = item.size(); j-->0;) { if (!equals(item.get(j), value.get(j))) { continue main; } } return Integer.parseInt(key); } } return -1; }
@Override public StringToManyList<X> add(final String key, final X value) { get(key).add(value); return this; }
@Override public String deserializeString(final CharIterator s) { final int pos = deserializeInt(s); if (pos == -1) { return null; } return values.at(pos); }
@Override public boolean findRemove(final IntTo<X> value, final boolean all) { if (value == null) { return false; } boolean success = false; final String[] keys = map.keyArray(); main: for (int i = keys.length; i-->0;) { final String key = keys[i]; final IntTo<X> item = map.get(key); if (item.size() == value.size()) { for (int j = item.size(); j-->0;) { if (!equals(item.get(j), value.get(j))) { continue main; } } if (!all) { return true; } success = true; } } return success; }
@Override public void add(final int key, final X item) { map.get(Integer.toString(key)).add(item); }
@Override public <C> Class<C> deserializeClass(final CharIterator c) { final int pos = deserializeInt(c); if (pos == -1) { return null; } final String value = values.at(pos); return loadClass(value); }
public ClusteringPrimitiveDeserializer(final PrimitiveSerializer primitives, final CharIterator in) { super(primitives); values = X_Collect.newList(String.class); int size = primitives.deserializeInt(in); while (size --> 0) { values.add(primitives.deserializeString(in)); } }
int numStrongNames = primitives.deserializeInt(chars); while (numStrongNames --> 0) { module.strongNames.add(primitives.deserializeString(chars));