private InterceptorConstants getOrInsertInterceptorConstants(Class interceptorClass) throws IOException { if (interceptorClass.getDeclaredMethods().length == 0) { throw new InvalidClassException("Interceptor class format not valid."); } InterceptorConstants interceptorConstants = new InterceptorConstants(); interceptorConstants.setInterceptorClassName( getOrInsertUtf8(interceptorClass.getName().replace(".", "/"))); interceptorConstants.setInterceptorClass( getOrInsertClass(interceptorConstants.getInterceptorClassName())); interceptorConstants.setInterceptorMethodName( getOrInsertUtf8(Constants.INTERCEPTOR_METHOD_NAME)); interceptorConstants.setInterceptorMethodType( getOrInsertUtf8(Constants.INTERCEPTOR_METHOD_TYPE)); interceptorConstants.setInterceptorMethodNameAndType( getOrInsertNameAndType( interceptorConstants.getInterceptorMethodName(), interceptorConstants.getInterceptorMethodType())); interceptorConstants.setInterceptorMethod( getOrInsertMethodRef( interceptorConstants.getInterceptorClass(), interceptorConstants.getInterceptorMethodNameAndType())); interceptorConstants.setConstructorName(getOrInsertUtf8(Constants.DEFAULT_CONSTRUCTOR_NAME)); interceptorConstants.setConstructorType(getOrInsertUtf8(Constants.DEFAULT_CONSTRUCTOR_TYPE)); interceptorConstants.setConstructorNameAndType( getOrInsertNameAndType( interceptorConstants.getConstructorName(), interceptorConstants.getConstructorType())); interceptorConstants.setConstructor( getOrInsertMethodRef( interceptorConstants.getInterceptorClass(), interceptorConstants.getConstructorNameAndType())); return interceptorConstants; }