31 package com.google.protobuf;
45 @SuppressWarnings(
"unchecked")
68 final Class<Type> originalClass,
69 final Type defaultInstance) {
72 public void run(
final Message parameter) {
75 typedParameter = originalClass.cast(parameter);
76 }
catch (ClassCastException ignored) {
77 typedParameter =
copyAsType(defaultInstance, parameter);
79 originalCallback.
run(typedParameter);
88 @SuppressWarnings(
"unchecked")
91 return (
Type) typeDefaultInstance.newBuilderForType().mergeFrom(
source).build();
102 private boolean alreadyCalled =
false;
105 public void run(
final ParameterType parameter) {
106 synchronized (
this) {
110 alreadyCalled =
true;
113 originalCallback.
run(parameter);
123 super(
"This RpcCallback was already called and cannot be called multiple times.");