@Override public Class<Object> getTargetClass() { return this.externalizer.getTargetClass(); }
@Override public Set<Class<? extends T>> getTypeClasses() { return Collections.singleton(this.externalizer.getTargetClass()); }
/** * Cast this externalizer to its target type. * @param type the externalizer type * @return the externalizer */ @SuppressWarnings("unchecked") public <T> Externalizer<T> cast(Class<T> type) { if (!type.isAssignableFrom(this.externalizer.getTargetClass())) { throw new IllegalArgumentException(type.getName()); } return (Externalizer<T>) this.externalizer; } }
private ExternalizerObjectTable(IntSerializer indexSerializer, List<Externalizer<Object>> externalizers) { this.indexSerializer = indexSerializer; this.externalizers = externalizers; ListIterator<Externalizer<Object>> iterator = externalizers.listIterator(); while (iterator.hasNext()) { this.indexes.putIfAbsent(iterator.next().getTargetClass(), iterator.previousIndex()); } }
public EnumExternalizerTester(Externalizer<E> externalizer) { super(externalizer, Assert::assertSame); this.targetClass = externalizer.getTargetClass(); }
public void test(T subject) throws IOException, ClassNotFoundException { assertTrue(this.externalizer.getTargetClass().isInstance(subject)); ByteArrayOutputStream externalizedOutput = new ByteArrayOutputStream(); try (ObjectOutputStream output = new ObjectOutputStream(externalizedOutput)) { this.externalizer.writeObject(output, subject); } byte[] externalizedBytes = externalizedOutput.toByteArray(); try (ObjectInputStream input = new ObjectInputStream(new ByteArrayInputStream(externalizedBytes))) { T result = this.externalizer.readObject(input); assertTrue(this.externalizer.getTargetClass().isInstance(result)); this.assertion.accept(subject, result); } // If object is serializable, make sure we've actually improved upon default serialization size if (subject instanceof java.io.Serializable) { ByteArrayOutputStream out = new ByteArrayOutputStream(); try (ObjectOutputStream output = new ObjectOutputStream(out)) { output.writeObject(subject); } byte[] bytes = out.toByteArray(); Assert.assertTrue(externalizedBytes.length < bytes.length); } } }
InfinispanLogger.ROOT_LOGGER.debugf("Cache container %s will use an externalizer for %s", this.name, externalizer.getTargetClass().getName()); serialization.addAdvancedExternalizer(new AdvancedExternalizerAdapter<>(id++, externalizer));
@Override public Class<Object> getTargetClass() { return this.externalizer.getTargetClass(); }
@Override public Class<Object> getTargetClass() { return this.externalizer.getTargetClass(); }
@Override public Set<Class<? extends T>> getTypeClasses() { return Collections.singleton(this.externalizer.getTargetClass()); }
private ExternalizerObjectTable(IntSerializer indexSerializer, List<Externalizer<Object>> externalizers) { this.indexSerializer = indexSerializer; this.externalizers = externalizers; ListIterator<Externalizer<Object>> iterator = externalizers.listIterator(); while (iterator.hasNext()) { this.indexes.putIfAbsent(iterator.next().getTargetClass(), iterator.previousIndex()); } }
/** * Cast this externalizer to its target type. * @param type the externalizer type * @return the externalizer */ @SuppressWarnings("unchecked") public <T> Externalizer<T> cast(Class<T> type) { if (!type.isAssignableFrom(this.externalizer.getTargetClass())) { throw new IllegalArgumentException(type.getName()); } return (Externalizer<T>) this.externalizer; } }
/** * Cast this externalizer to its target type. * @param type the externalizer type * @return the externalizer */ @SuppressWarnings("unchecked") public <T> Externalizer<T> cast(Class<T> type) { if (!type.isAssignableFrom(this.externalizer.getTargetClass())) { throw new IllegalArgumentException(type.getName()); } return (Externalizer<T>) this.externalizer; } }
InfinispanLogger.ROOT_LOGGER.debugf("Cache container %s will use an externalizer for %s", this.name, externalizer.getTargetClass().getName()); serialization.addAdvancedExternalizer(new AdvancedExternalizerAdapter<>(id++, externalizer));