public static <T> ObjectSerializer instantiateSerializer( Configuration conf, Class<T> type ) throws ClassNotFoundException { Class<ObjectSerializer> flowSerializerClass; String serializerClassName = conf.get( ObjectSerializer.OBJECT_SERIALIZER_PROPERTY ); if( serializerClassName == null || serializerClassName.length() == 0 ) flowSerializerClass = (Class<ObjectSerializer>) DEFAULT_OBJECT_SERIALIZER; else flowSerializerClass = (Class<ObjectSerializer>) Class.forName( serializerClassName ); ObjectSerializer objectSerializer; try { objectSerializer = flowSerializerClass.newInstance(); if( objectSerializer instanceof Configurable ) ( (Configurable) objectSerializer ).setConf( conf ); } catch( Exception exception ) { exception.printStackTrace(); throw new IllegalArgumentException( "Unable to instantiate serializer \"" + flowSerializerClass.getName() + "\" for class: " + type.getName() ); } if( !objectSerializer.accepts( type ) ) throw new IllegalArgumentException( serializerClassName + " won't accept objects of class " + type.toString() ); return objectSerializer; }
public static <T> ObjectSerializer instantiateSerializer( Configuration conf, Class<T> type ) throws ClassNotFoundException { Class<ObjectSerializer> flowSerializerClass; String serializerClassName = conf.get( ObjectSerializer.OBJECT_SERIALIZER_PROPERTY ); if( serializerClassName == null || serializerClassName.length() == 0 ) flowSerializerClass = (Class<ObjectSerializer>) DEFAULT_OBJECT_SERIALIZER; else flowSerializerClass = (Class<ObjectSerializer>) Class.forName( serializerClassName ); ObjectSerializer objectSerializer; try { objectSerializer = flowSerializerClass.newInstance(); if( objectSerializer instanceof Configurable ) ( (Configurable) objectSerializer ).setConf( conf ); } catch( Exception exception ) { exception.printStackTrace(); throw new IllegalArgumentException( "Unable to instantiate serializer \"" + flowSerializerClass.getName() + "\" for class: " + type.getName() ); } if( !objectSerializer.accepts( type ) ) throw new IllegalArgumentException( serializerClassName + " won't accept objects of class " + type.toString() ); return objectSerializer; }