private static void writeGemFireEnum(Enum<?> e, DataOutput out) throws IOException { boolean isGemFireObject = isGemfireObject(e); DataSerializer.writePrimitiveByte( isGemFireObject ? DSCODE.GEMFIRE_ENUM.toByte() : DSCODE.PDX_INLINE_ENUM.toByte(), out); DataSerializer.writeString(e.getDeclaringClass().getName(), out); DataSerializer.writeString(e.name(), out); if (!isGemFireObject) { InternalDataSerializer.writeArrayLength(e.ordinal(), out); } }
@Test public void testIsGemfireObject() { assertTrue("Instances of Function are GemFire objects", InternalDataSerializer.isGemfireObject(new TestFunction())); assertFalse("Instances of PdxSerializaerObject are NOT GemFire objects", InternalDataSerializer.isGemfireObject(new TestPdxSerializerObject())); assertFalse("Instances of anything under org.apache. are GemFire objects", InternalDataSerializer.isGemfireObject(new SimpleLogger("", Level.OFF, false, false, false, false, "", null, new PropertiesUtil(new Properties()), null))); assertTrue("Instances of anything in org.apache.geode. are GemFire objects", InternalDataSerializer.isGemfireObject(new InternalGemFireException())); assertTrue("Instances of anything under org.apache.geode. are GemFire objects", InternalDataSerializer.isGemfireObject(new ExampleSecurityManager())); }
isGemfireObject(pdx)) { return false;