Class AbstractSerialiser

  • Direct Known Subclasses:
    IoBufferSerialiser

    public abstract class AbstractSerialiser
    extends java.lang.Object
    Author:
    rstein
    • Field Detail

      • startMarkerFunction

        protected java.util.function.Consumer<java.lang.String> startMarkerFunction
      • endMarkerFunction

        protected java.util.function.Consumer<java.lang.String> endMarkerFunction
    • Constructor Detail

      • AbstractSerialiser

        public AbstractSerialiser()
    • Method Detail

      • addClassDefinition

        public void addClassDefinition​(FieldSerialiser serialiser)
      • checkClassCompatibility

        protected boolean checkClassCompatibility​(java.util.List<java.lang.Class<?>> ref1,
                                                  java.util.List<java.lang.Class<?>> ref2)
      • checkSerialiserAvailability

        public void checkSerialiserAvailability​(java.util.List<java.lang.String> objList,
                                                ClassFieldDescription field)
      • deserialiseObject

        public abstract java.lang.Object deserialiseObject​(java.lang.Object obj)
                                                    throws java.lang.IllegalAccessException
        Throws:
        java.lang.IllegalAccessException
      • findFieldSerialiserForKnownClassOrInterface

        public java.util.Optional<FieldSerialiser> findFieldSerialiserForKnownClassOrInterface​(java.lang.Class<?> clazz,
                                                                                               java.util.List<java.lang.Class<?>> classGenericArguments)
      • isClassKnown

        public boolean isClassKnown​(java.lang.Class<?> clazz,
                                    java.util.List<java.lang.Class<?>> classGenericArguments)
      • knownClasses

        public java.util.Map<java.lang.Class<?>,​java.util.List<FieldSerialiser>> knownClasses()
      • serialiseObject

        public void serialiseObject​(java.lang.Object obj)
                             throws java.lang.IllegalAccessException
        Throws:
        java.lang.IllegalAccessException
      • serialiseObject

        public void serialiseObject​(java.lang.Object obj,
                                    ClassFieldDescription root,
                                    int recursionDepth)
                             throws java.lang.IllegalAccessException
        Throws:
        java.lang.IllegalAccessException
      • computeHashCode

        public static int computeHashCode​(java.lang.Class<?> classPrototype,
                                          java.util.List<java.lang.Class<?>> classGenericArguments)
      • getClassConstructorByName

        public static java.lang.reflect.Constructor<java.lang.Object> getClassConstructorByName​(java.lang.String name,
                                                                                                java.lang.Class<?>... parameterTypes)
      • getClassNames

        public static java.lang.String[] getClassNames​(java.util.List<java.lang.Class<?>> classGenericArguments)
      • getGenericFieldSimpleTypeString

        public static java.lang.String getGenericFieldSimpleTypeString​(java.util.List<java.lang.Class<?>> classArguments)