Package com.enragedginger.stephenerialization.cyclic

Source Code of com.enragedginger.stephenerialization.cyclic.CyclicB

package com.enragedginger.stephenerialization.cyclic;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

import com.enragedginger.stephenerialization.StephenerializationLookupService;
import com.enragedginger.stephenerialization.StephenerializationService;
import com.enragedginger.stephenerialization.annotations.Stephenerializable;
import com.enragedginger.stephenerialization.annotations.Stephenerialize;

/**
* Class for testing Stephenerialization involving cyclical references.
* @author Stephen Hopper
*
*/
@Stephenerializable(version = 20121225)
public class CyclicB implements Serializable {

  private static final long serialVersionUID = 1L;

  @Stephenerialize(minVersion = 20121225, priority = 1)
  private int face = 7;

  @Stephenerialize(minVersion = 20121225, priority = 1)
  private CyclicA cyclic;

  /**
   * @return the face
   */
  public int getFace() {
    return face;
  }

  /**
   * @param face
   *            the face to set
   */
  public void setFace(int face) {
    this.face = face;
  }

  /**
   * @return the cyclic
   */
  public CyclicA getCyclic() {
    return cyclic;
  }

  /**
   * @param cyclic
   *            the cyclic to set
   */
  public void setCyclic(CyclicA cyclic) {
    this.cyclic = cyclic;
  }
 
  /**
   * Writes this object out to the stream using Stephenerialization.
   * @param streamer The output stream to use.
   */
  private void writeObject(ObjectOutputStream streamer) {
    final StephenerializationService service = StephenerializationLookupService.lookup();
    service.stephenerialize(this, streamer, CyclicB.class);
  }
 
  /**
   * Reads this object from the stream using Stephenerialization.
   * @param streamer The input stream to use.
   */
  private void readObject(ObjectInputStream streamer) {
    final StephenerializationService service = StephenerializationLookupService.lookup();
    service.destephenerialize(this, streamer, CyclicB.class);
  }

}
TOP

Related Classes of com.enragedginger.stephenerialization.cyclic.CyclicB

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.