class JvmChecker {

    public void checkJvmCompatibilityAndIssueWarning()
    {
        String javaVmName = jvmMetadataRepository.getJavaVmName();
        String javaVersion = jvmMetadataRepository.getJavaVersion();

        if ( !javaVmName.matches( "(Java HotSpot\\(TM\\)|OpenJDK|IBM) (64-Bit Server|Server|Client|J9) VM" ) )
        {
            log.warn( INCOMPATIBLE_JVM_WARNING );
        }
        else if ( !javaVersion.matches( "^1\\.[8].*" ) )
        {
            log.warn( INCOMPATIBLE_JVM_VERSION_WARNING );
        }

        if ( !serializationFilterIsAvailable() )
        {
            log.warn( NO_SERIALIZATION_FILTER_WARNING );
        }
    }

    public  JvmChecker( Log log, JvmMetadataRepository jvmMetadataRepository );

}