Coverage Summary for Class: Platform (com.google.common.testing)

Class Class, % Method, % Line, %
Platform 100% (1/1) 50% (1/2) 88.9% (8/9)


1 /* 2  * Copyright (C) 2007 The Guava Authors 3  * 4  * Licensed under the Apache License, Version 2.0 (the "License"); 5  * you may not use this file except in compliance with the License. 6  * You may obtain a copy of the License at 7  * 8  * http://www.apache.org/licenses/LICENSE-2.0 9  * 10  * Unless required by applicable law or agreed to in writing, software 11  * distributed under the License is distributed on an "AS IS" BASIS, 12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13  * See the License for the specific language governing permissions and 14  * limitations under the License. 15  */ 16  17 package com.google.common.testing; 18  19 import static com.google.common.base.Preconditions.checkNotNull; 20  21 import com.google.common.annotations.GwtCompatible; 22 import java.io.ByteArrayInputStream; 23 import java.io.ByteArrayOutputStream; 24 import java.io.IOException; 25 import java.io.ObjectInputStream; 26 import java.io.ObjectOutputStream; 27  28 /** 29  * Methods factored out so that they can be emulated differently in GWT. 30  * 31  * @author Chris Povirk 32  */ 33 @GwtCompatible(emulated = true) 34 final class Platform { 35  /** Serializes and deserializes the specified object. */ 36  @SuppressWarnings("unchecked") 37  static <T> T reserialize(T object) { 38  checkNotNull(object); 39  ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 40  try { 41  ObjectOutputStream out = new ObjectOutputStream(bytes); 42  out.writeObject(object); 43  ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes.toByteArray())); 44  return (T) in.readObject(); 45  } catch (IOException | ClassNotFoundException e) { 46  throw new RuntimeException(e); 47  } 48  } 49  50  private Platform() {} 51 }