@Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { writers[buildKey(this,method.getName())].write(args); return null; }
public OutputPipeInvocationHandler(Pipe pipe, int msgIdx, Class<?> clazz) { super(clazz.getMethods()); FieldReferenceOffsetManager from = Pipe.from(pipe); final Method[] methods = clazz.getMethods(); writers = new OutputPipeWriterMethod[MAX_METHODS]; int j = methods.length; while (--j>=0) { final Method method = methods[j]; ProngTemplateField fieldAnnonation = method.getAnnotation(ProngTemplateField.class); if (null!=fieldAnnonation) { int fieldLoc = FieldReferenceOffsetManager.lookupFieldLocator(fieldAnnonation.fieldId(), msgIdx, from); int key = buildKey(this, method.getName()); if (null!=writers[key]) { throw new UnsupportedOperationException(); } writers[key] = OutputPipeWriterMethod.buildWriteForYourType(pipe, fieldAnnonation.decimalPlaces(), fieldLoc, (fieldLoc >> FieldReferenceOffsetManager.RW_FIELD_OFF_BITS) & TokenBuilder.MASK_TYPE, from); } } }
public OutputPipeInvocationHandler(Pipe pipe, int msgIdx, Class<?> clazz) { super(clazz.getMethods()); FieldReferenceOffsetManager from = Pipe.from(pipe); final Method[] methods = clazz.getMethods(); writers = new OutputPipeWriterMethod[MAX_METHODS]; int j = methods.length; while (--j>=0) { final Method method = methods[j]; ProngTemplateField fieldAnnonation = method.getAnnotation(ProngTemplateField.class); if (null!=fieldAnnonation) { int fieldLoc = FieldReferenceOffsetManager.lookupFieldLocator(fieldAnnonation.fieldId(), msgIdx, from); int key = buildKey(this, method.getName()); if (null!=writers[key]) { throw new UnsupportedOperationException(); } writers[key] = OutputPipeWriterMethod.buildWriteForYourType(pipe, fieldAnnonation.decimalPlaces(), fieldLoc, (fieldLoc >> FieldReferenceOffsetManager.RW_FIELD_OFF_BITS) & TokenBuilder.MASK_TYPE, from); } } }
@Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { writers[buildKey(this,method.getName())].write(args); return null; }
public OutputPipeInvocationHandler(Pipe pipe, int msgIdx, Class<?> clazz) { super(clazz.getMethods()); FieldReferenceOffsetManager from = Pipe.from(pipe); final Method[] methods = clazz.getMethods(); writers = new OutputPipeWriterMethod[MAX_METHODS]; int j = methods.length; while (--j>=0) { final Method method = methods[j]; ProngTemplateField fieldAnnonation = method.getAnnotation(ProngTemplateField.class); if (null!=fieldAnnonation) { int fieldLoc = FieldReferenceOffsetManager.lookupFieldLocator(fieldAnnonation.fieldId(), msgIdx, from); int key = buildKey(this, method.getName()); if (null!=writers[key]) { throw new UnsupportedOperationException(); } writers[key] = OutputPipeWriterMethod.buildWriteForYourType(pipe, fieldAnnonation.decimalPlaces(), fieldLoc, (fieldLoc >> FieldReferenceOffsetManager.RW_FIELD_OFF_BITS) & TokenBuilder.MASK_TYPE, from); } } }
@Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { writers[buildKey(this,method.getName())].write(args); return null; }