本文整理匯總了Java中org.waveprotocol.wave.model.operation.wave.BlipOperationVisitor類的典型用法代碼示例。如果您正苦於以下問題:Java BlipOperationVisitor類的具體用法?Java BlipOperationVisitor怎麽用?Java BlipOperationVisitor使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
BlipOperationVisitor類屬於org.waveprotocol.wave.model.operation.wave包,在下文中一共展示了BlipOperationVisitor類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: serialize
import org.waveprotocol.wave.model.operation.wave.BlipOperationVisitor; //導入依賴的package包/類
/**
* Serializes a wavelet operation as a {@link ProtocolWaveletOperation}.
*
* @param waveletOp wavelet operation to serialize
* @return serialized protocol buffer wavelet operation
*/
public static ProtocolWaveletOperation serialize(WaveletOperation waveletOp) {
ProtocolWaveletOperation.Builder protobufOp = ProtocolWaveletOperation.newBuilder();
if (waveletOp instanceof NoOp) {
protobufOp.setNoOp(true);
} else if (waveletOp instanceof AddParticipant) {
protobufOp.setAddParticipant(
((AddParticipant) waveletOp).getParticipantId().getAddress());
} else if (waveletOp instanceof RemoveParticipant) {
protobufOp.setRemoveParticipant(
((RemoveParticipant) waveletOp).getParticipantId().getAddress());
} else if (waveletOp instanceof WaveletBlipOperation) {
final WaveletBlipOperation wbOp = (WaveletBlipOperation) waveletOp;
final ProtocolWaveletOperation.MutateDocument.Builder mutation =
ProtocolWaveletOperation.MutateDocument.newBuilder();
mutation.setDocumentId(wbOp.getBlipId());
wbOp.getBlipOp().acceptVisitor(new BlipOperationVisitor() {
@Override
public void visitBlipContentOperation(BlipContentOperation blipOp) {
mutation.setDocumentOperation(serialize(blipOp.getContentOp()));
}
@Override
public void visitSubmitBlip(SubmitBlip op) {
throw new IllegalArgumentException("Unsupported blip operation: " + wbOp.getBlipOp());
}
});
protobufOp.setMutateDocument(mutation.build());
} else {
throw new IllegalArgumentException("Unsupported wavelet operation: " + waveletOp);
}
return protobufOp.build();
}