/** * Gets the size of the provided phone prefix map storage. The map storage passed-in will be * filled as a result. */ private static int getSizeOfPhonePrefixMapStorage( PhonePrefixMapStorageStrategy mapStorage, SortedMap<Integer, String> phonePrefixMap) throws IOException { mapStorage.readFromSortedMap(phonePrefixMap); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); mapStorage.writeExternal(objectOutputStream); objectOutputStream.flush(); int sizeOfStorage = byteArrayOutputStream.size(); objectOutputStream.close(); return sizeOfStorage; }
/** Supports Java Serialization. */ public void writeExternal(ObjectOutput objectOutput) throws IOException { objectOutput.writeBoolean(phonePrefixMapStorage instanceof FlyweightMapStorage); phonePrefixMapStorage.writeExternal(objectOutput); }