Logo
Distributed Genetic Programming Framework
print print

File org.dgpf.search.control.protocol.JarFileEvent.java

Here you can find all the information about the file org.dgpf.search.control.protocol.JarFileEvent.java. You may explore it here or download it onto your local disk.
/*
 * Copyright (c) 2006 Mirko Dietrich
 * 
 * E-Mail           : mirkodietrich@hrz.uni-kassel.de
 * Creation Date    : Jul 30, 2006 3:53:14 PM
 * Original Filename: org.dgpf.search.control.protocol.JarFileEvent.java
 * Version          : 1.0
 * Last modification: Jul 30, 2006
 * Last modified by : Mirko Dietrich
 * 
 * License          : GNU LESSER GENERAL PUBLIC LICENSE
 *                    Version 2.1, February 1999
 *                    You should have received a copy of this license along
 *                    with this library; if not, write to the Free Software
 *                    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *                    MA 02111-1307, USA or download the license under
 *                    http://www.gnu.org/copyleft/lesser.html.
 *                    
 * Warranty         : This software is provided "as is" without any
 *                    warranty; without even the implied warranty of
 *                    merchantability or fitness for a particular purpose.
 *                    See the Gnu Lesser General Public License for more
 *                    details.
 */


package org.dgpf.search.control.protocol;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import org.dgpf.gui.Client;
import org.sfc.events.SfcEvent;
import org.sfc.utils.Typesafe;

/**
 * This <code>Event</code> encapsulates a <code>JarFile</code>.
 * 
 * @author Mirko Dietrich
 */

public class JarFileEvent extends SfcEvent
  {
  /**
   * The serial version UID.
   */

  private static final long serialVersionUID = 1L;

  /**
   * The jar file to encapsulate.
   */

  private transient byte[]  m_jar_data;

  /**
   * The jar filename.
   */

  private transient String  m_filename;

  /**
   * Default constructor.
   * 
   * @param p_source
   *          The source of the event.
   * @param p_jar
   *          is the jar file to encapsulate.
   * @throws IOException
   *           is something went wrong.
   */

  public JarFileEvent(Client p_source, File p_jar) throws IOException
    {
    super(p_source);
    FileInputStream l_in = new FileInputStream(p_jar);
    this.m_jar_data = new byte[(int) p_jar.length()];
    l_in.read(this.m_jar_data);
    this.m_filename = p_jar.getName();
    }

  /**
   * Stores the <code>SfcEvent</code> into the stream.
   * 
   * @param p_s
   *          The output stream.
   * @throws IOException
   *           If something io-like went wrong.
   */

  private final synchronized void writeObject(final ObjectOutputStream p_s)
      throws IOException
    {
    p_s.defaultWriteObject();
    p_s.writeUnshared(this.m_jar_data);
    p_s.writeUnshared(this.m_filename);
    }

  /**
   * Reconstitute the <code>SfcEvent</code> instance from a stream (that
   * is, deserialize it).
   * 
   * @param p_s
   *          The input stream.
   * @throws IOException
   *           If something io-like went wrong.
   * @throws ClassNotFoundException
   *           If a needed class could not be found.
   */

  private final void readObject(final ObjectInputStream p_s)
      throws IOException, ClassNotFoundException
    {
    p_s.defaultReadObject();
    this.m_jar_data = Typesafe.cast(p_s.readUnshared());
    this.m_filename = Typesafe.cast(p_s.readUnshared());
    }

  /**
   * @return Returns the jar file data.
   */

  public final byte[] getJar()
    {
    return this.m_jar_data;
    }

  /**
   * @return Returns the jar file data length in bytes.
   */

  public final int getJarLength()
    {
    return this.m_jar_data.length;
    }

  /**
   * @return Returns the filename.
   */

  public final String getFilename()
    {
    return this.m_filename;
    }

  }

File Information:

file name:JarFileEvent.java
package:org.dgpf.search.control.protocol
qualified name:org.dgpf.search.control.protocol.JarFileEvent.java
file type:Java Source File
download location:download http://dgpf.sourceforge.net/source/org/dgpf/search/control/protocol/JarFileEvent.java
size:3.664 KB (3752 B)
uploaded: 2015-07-22 04:11:00 GMT+0000
last update: 2006-09-24 23:47:04 GMT+0000
last access: 2017-11-21 15:41:02 GMT+0000

statistics online since 2006-01-02.   RSS Feed
Contact us by sending an email to tweise@gmx.de to receive further information, to report errors, or to join our project.
All content on this site (http://dgpf.sourceforge.net/) is LGPL-licensed.
http://dgpf.sourceforge.net/scripts/source/source.php last modified at 2015-07-22 04:10:53 GMT+0000 served at 2017-11-21 15:41:02 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo