Why is my class Serializable?

I'm very new to Java and I'm doing the examples from the Java Fundamentals - Volume I book. The IDE I'm using (Eclipse) reports the following warning for just about every Swing class I create:
The serializable class MulticastPanel does not declare a static final serialVersionUID field of type long
However, the class does not implement Serializable.
JFrame, which MultiCastPanel extends, implements Serializable. But then shouldn't JFrame declare a static final serialVersionUID field of long?
What am I doing wrong?
Thanks,
-Jeff

I'm very new to Java and I'm doing the examples from
the Java Fundamentals - Volume I book. The IDE I'm
using (Eclipse) reports the following warning for
just about every Swing class I create:
The serializable class MulticastPanel does not
declare a static final serialVersionUID field of type
long
However, the class does not implement Serializable.
JFrame, which MultiCastPanel extends, implements
Serializable. But then shouldn't JFrame declare a
static final serialVersionUID field of long?
What am I doing wrong?The previous explanation didn't seem to make it clear that this occurs because you are inheriting that whether you want it or not.
You can ignore the warning.
I suspect there is a way to turn off the warning in Eclipse.

Similar Messages

  • Re: [iPlanet-JATO] jato classes serializable

    Unless Todd, Mike, or Matt have slick answer to make it work, my only
    solution would be to switch from using the objects themselves and
    reference by name instead. I don't know exactly what your Utility class
    is doing or how the fields use the Utility class, so I can not be
    specific in what you should do.
    I fear that I may be taking on too much work by asking, but maybe you
    could send me the Utility class (send to me directly as Yahoo Groups
    doesnot allow attachments: craig.conover@s...).
    I'll take a quick glance at it. Maybe I can make some suggestions to
    minimize your migration efforts.
    craig
    Seetharam, Prashanth wrote:
    In ND, we had a utility class written whose member variables were visual
    objects. This utility object is used to display or not display its elements
    depending on user action. The utility object was being put into session.
    It could have been implemented in a different way, by storing visual object
    names instead of objects themselves. But when we migrated, we tried to keep
    re-coding to the minimum and ended up replacing ND visual objects
    withcorresponding jato visual objects and ran into this problem.
    Since all the jato visual objects extend from DisplayFieldBase which inturn
    extends from ViewBase, i started looking at ViewBase and did not understand
    why the variable was made transient. Hence the question.
    Thanks,
    Prashanth Seetharam
    -----Original Message-----
    From:     Craig V. Conover [SMTP:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
    Sent:     Tuesday, December 11, 2001 2:43 PM
    Subject:     Re: [iPlanet-JATO] jato classes serializable
    What is your requirement that these be serializable?
    The views do not store any values, that is what the model is for, and
    they are created lazily as needed.
    Is there something you were doing in ND that required it. It is very
    likely that you do not need to do it anymore with JATO.
    If you are using JATO1.0, you are highly encouraged to start using JATO
    1.2. If you are using the iMT, it has an upgrade tool for 1.x to 1.2.
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    I'll leave the transient parentViewBean to Todd or Mike to justify. But,
    again, what is the need for it to be serialized?
    c
    Seetharam, Prashanth wrote:
    I am using jato1.0 and found that jato classes (especially the visual
    objects like StaticTextField) are not serializable.
    Is this change made in jato1.1? It will be good to have this feature as
    ND
    visual objects were serializable.
    Also in com.iplanet.jato.view.ViewBase.java, why has this variable been
    made
    transient?
         private transient ViewBean parentViewBean;
    Thanks,
    Prashanth Seetharam
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Unless Todd, Mike, or Matt have slick answer to make it work, my only
    solution would be to switch from using the objects themselves and
    reference by name instead. I don't know exactly what your Utility class
    is doing or how the fields use the Utility class, so I can not be
    specific in what you should do.
    I fear that I may be taking on too much work by asking, but maybe you
    could send me the Utility class (send to me directly as Yahoo Groups
    doesnot allow attachments: craig.conover@s...).
    I'll take a quick glance at it. Maybe I can make some suggestions to
    minimize your migration efforts.
    craig
    Seetharam, Prashanth wrote:
    In ND, we had a utility class written whose member variables were visual
    objects. This utility object is used to display or not display its elements
    depending on user action. The utility object was being put into session.
    It could have been implemented in a different way, by storing visual object
    names instead of objects themselves. But when we migrated, we tried to keep
    re-coding to the minimum and ended up replacing ND visual objects
    withcorresponding jato visual objects and ran into this problem.
    Since all the jato visual objects extend from DisplayFieldBase which inturn
    extends from ViewBase, i started looking at ViewBase and did not understand
    why the variable was made transient. Hence the question.
    Thanks,
    Prashanth Seetharam
    -----Original Message-----
    From:     Craig V. Conover [SMTP:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
    Sent:     Tuesday, December 11, 2001 2:43 PM
    Subject:     Re: [iPlanet-JATO] jato classes serializable
    What is your requirement that these be serializable?
    The views do not store any values, that is what the model is for, and
    they are created lazily as needed.
    Is there something you were doing in ND that required it. It is very
    likely that you do not need to do it anymore with JATO.
    If you are using JATO1.0, you are highly encouraged to start using JATO
    1.2. If you are using the iMT, it has an upgrade tool for 1.x to 1.2.
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    I'll leave the transient parentViewBean to Todd or Mike to justify. But,
    again, what is the need for it to be serialized?
    c
    Seetharam, Prashanth wrote:
    I am using jato1.0 and found that jato classes (especially the visual
    objects like StaticTextField) are not serializable.
    Is this change made in jato1.1? It will be good to have this feature as
    ND
    visual objects were serializable.
    Also in com.iplanet.jato.view.ViewBase.java, why has this variable been
    made
    transient?
         private transient ViewBean parentViewBean;
    Thanks,
    Prashanth Seetharam
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

  • Recieving cannot resolve symbol symbol  : class Serializable

    I'm receiving the error:
    cannot resolve symbol symbol : class Serializable
    The class is as follows:
    //package cscie160.hw5;
    import java.io.Serializable
    * @author Eddie Brodie
    * @version %I%, %G%
    public class AccountInfo implements Serializable
         public int _accountNumber;
         public int _pin;
         public AccountInfo(int accountNumber, int pin)
              _accountNumber = accountNumber;
              _pin = pin;
    I've tried importing java.*
    I've also checked my classpath.
    Any ideas?

    Try taking the import statement out of the comment block; that might help

  • Why a base class cannot be a Private or Protected ?????

    why a base class cannot be a Private or Protected ?????

    why a base class cannot be a Private orProtected
    ?????Who would be able to access it? (Assuming "base"
    means top-level class.)Private, none. Protected, all classes in same package
    and subclasses (as with the methods).
    Actually, its somewhat illogical that a class be
    declared package-private, but not protected, since
    protected is less restrictive.having a protected class would make no sense. subclasses are not permitted to lessen the protection of members of their superclass, so you'd end up with a class that nothing could use, except subclasses that in turn nothing else could use

  • How to make a class serializable

     

    This is not a good place to learn general Java ... I suggest looking at the
    Java serialization specification from JDK1.1 (?) and understanding how
    serialization works.
    It is impossible to answer your question either 'yes' or 'no' ... by saying
    'implements serializable' it does make instances of the class serializable,
    but that does not mean that serialization will work on those instances, for
    example because the instance may have non-null non-transient fields that are
    not serializable. Further more, some of the state may not be appropriate for
    serialization (like a JDBC Connection reference ...).
    Peace,
    Cameron Purdy
    Tangosol Inc.
    << Tangosol Server: How Weblogic applications are customized >>
    << Download now from http://www.tangosol.com/download.jsp >>
    "zille9" <sdsd> wrote in message news:3bf6f272$[email protected]..
    can i make a simple java class serializable by just writing implementsserializable in its implemetation

  • Why interfaces why not abstract classes?

    why they are using interfaces concept in JDBC or struts2.0 why not abstract classes?
    thanks in advance.

    user5287726 wrote:
    jverd wrote:
    user5287726 wrote:
    Interfaces are more flexible. For certain definitions of flexible, yes, but not for others.
    A Java class can only inherit one class, but it can implement multiple interfaces.Which has absolutely nothing to do with why JDBC declares interfaces rather than abstract classes.How does your post even attempt to answer the OP's question?OP asked: "why they are using interfaces concept in JDBC or struts2.0 why not abstract classes?" I'm pointing out that your post does not address the question asked. And of course your answer is wrong anyway.
    As for addressing the OP's question, I did that in my first response.

  • Why Array.as class is made dynamic?

    Why Array.as class is made dynamic?
    public dynamic class Array

    For one thing, array "elements" are merely dynamic properties. For example, when you access a[0] you are really accessing a["0"], i.e., a dynamic property named "0".
    For another thing, Ecmascript requires Array to allow accessing any property, such as a["foo"].
    Gordon Smith, Adobe

  • Why a static class can implements a non-static interface?

    public class Test {
         interface II {
              public void foo();
         static class Impl implements II {
              public void foo() {
                   System.out.println("foo");
    }Why a static class can implements a non-static interface?
    In my mind, static members cann't "use" non-static members.

    Why a static class can implements a
    non-static interface?There's no such thing as a non-static member interface. They are always static even if you don't declare them as such.
    An interface defines, well, a public interface to be implemented. It doesn't matter whether it is implemented by a static nested class or by an inner class (or by any class at all). It wouldn't make sense to enforce that it should be one or the other, since the difference between a static and non-static class is surely an irrelevant detail to the client code of the interface.
    In my mind, static members cann't "use" non-static
    members.
    http://java.sun.com/docs/books/jls/third_edition/html/classes.html#246026
    Member interfaces are always implicitly static. It is permitted but not required for the declaration of a member interface to explicitly list the static modifier.

  • Why can't classes with private constructors be subclassed?

    Why can't classes with private constructors be subclassed?
    I know specifying a private nullary constructor means you dont want the class to be instantiated or the class is a factory or a singleton pattern. I know the workaround is to just wrap all the methods of the intended superclass, but that just seems less wizardly.
    Example:
    I really, really want to be able to subclass java.util.Arrays, like so:
    package com.tassajara.util;
    import java.util.LinkedList;
    import java.util.List;
    public class Arrays extends java.util.Arrays {
        public static List asList(boolean[] array) {
            List result = new LinkedList();
            for (int i = 0; i < array.length; i++)
                result.add(new Boolean(array));
    return result;
    public static List asList( char[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Character(array[i]));
    return result;
    public static List asList( byte[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Byte(array[i]));
    return result;
    public static List asList( short[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Short(array[i]));
    return result;
    public static List asList( int[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Integer(array[i]));
    return result;
    public static List asList( long[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Long(array[i]));
    return result;
    public static List asList( float[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Float(array[i]));
    return result;
    public static List asList( double[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Double(array[i]));
    return result;
    // Now that we extend java.util.Arrays this method is not needed.
    // /**JCF already does this so just wrap their implementation
    // public static List asList(Object[] array) {
    // return java.util.Arrays.asList(array);
    public static List asList(Object object) {
    List result;
    Class type = object.getClass().getComponentType();
    if (type != null && type.isPrimitive()) {
    if (type == Boolean.TYPE)
    result = asList((boolean[])object);
    else if (type == Character.TYPE)
    result = asList(( char[])object);
    else if (type == Byte.TYPE)
    result = asList(( byte[])object);
    else if (type == Short.TYPE)
    result = asList(( short[])object);
    else if (type == Integer.TYPE)
    result = asList(( int[])object);
    else if (type == Long.TYPE)
    result = asList(( long[])object);
    else if (type == Float.TYPE)
    result = asList(( float[])object);
    else if (type == Double.TYPE)
    result = asList(( double[])object);
    } else {
    result = java.util.Arrays.asList((Object[])object);
    return result;
    I do not intend to instantiate com.tassajara.util.Arrays as all my methods are static just like java.util.Arrays. You can see where I started to wrap asList(Object[] o). I could continue and wrap all of java.util.Arrays methods, but thats annoying and much less elegant.

    Why can't classes with private constructors be
    subclassed?Because the subclass can't access the superclass constructor.
    I really, really want to be able to subclass
    java.util.Arrays, like so:Why? It only contains static methods, so why don't you just create a separate class?
    I do not intend to instantiate
    com.tassajara.util.Arrays as all my methods are static
    just like java.util.Arrays. You can see where I
    started to wrap asList(Object[] o). I could continue
    and wrap all of java.util.Arrays methods, but thats
    annoying and much less elegant.There's no need to duplicate all the methods - just call them when you want to use them.
    It really does sound like you're barking up the wrong tree here. I can see no good reason to want to subclass java.util.Arrays. Could you could explain why you want to do that? - perhaps you are misunderstanding static methods.
    Precisely as you said, if they didn't want me to
    subclass it they would have declared it final.Classes with no non-private constructors are implicitly final.
    But they didn't. There has to be a way for an API
    developer to indicate that a class is merely not to be
    instantiated, and not both uninstantiable and
    unextendable.There is - declare it abstract. Since that isn't what was done here, I would assume the writers don't want you to be able to subclass java.util.Arrays

  • Why is Boolean class is Comparable

    Why is Boolean class made to be Comparable from Java 5?
    Boolean represents true and false conditions, and there is no
    question of comparing boolean values in terms of greater or less.
    Then what was the need to make Boolean class comparable,
    whereas the comparision of boolean type is not valid.
    Thanks
    Pravin

    PMJain wrote:
    Yes not everything is supposed to be Comparable, is different from saying that everything should not be Comparable. Your logic is "Boolean should not be comparable because you cannot use <, >, etc." By that logic String should not be comparable.
    Do not force Comparable unnecessarily on everything.Where the hell did you get the ridiculous idea that I was? I pointed out a case where Boolean being comparable is useful. That's a far cry from "forcing comparable unnecessarily on everything."
    Whatever has natural ordering only should be Comparable, and for other unnatural orderings we have the Comparator.You really don't realize how illogical that is? Okay, well, like I said, you're entitled to your opinion, and you're entitled to never use Boolean as a Comparable, and instead create a Comparator. Fortunately for me, however, it is Comparable, so I can use it that way when it's appropriate.

  • Why does this class not read and write at same time???

    I had another thread where i was trying to combine two class files together
    http://forum.java.sun.com/thread.jspa?threadID=5146796
    I managed to do it myself but when i run the file it does not work right. If i write a file then try and open the file it says there are no records in the file, but if i close the gui down and open the file everything get read in as normal can anybody tell me why?
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import bank.BankUI;
    import bank.*;
    public class testing extends JFrame {
       private ObjectOutputStream output;
       private BankUI userInterface;
       private JButton SaveToFile, SaveAs, Exit; //////////savetofile also saves to store need to split up and have 2 buttons
       //private Store store; MIGHT BE SOMETHING TO DO WITH THIS AS I HAD TO COMMENT THIS STORE OUT TO GET IT WORKING AS STORE IS USED BELOW
       private Employee record;
    //////////////////////////////////////from read
    private ObjectInputStream input;
       private JButton nextButton, openButton, nextRecordButton ;
       private Store store = new Store(100);
         private Employee employeeList[] = new Employee[100];
         private int count = 0, next = 0;
    /////////////////////////////////////////////from read end
       // set up GUI
       public testing()
          super( "Employee Data" ); // appears in top of gui
          // create instance of reusable user interface
          userInterface = new BankUI( 9 );  // nine textfields
          getContentPane().add( userInterface, BorderLayout.CENTER );
          // configure button doTask1 for use in this program
          SaveAs = userInterface.getSaveAsButton();
          SaveAs.setText( "Save as.." );
    //////////////////from read
    openButton = userInterface.getOpenFileButton();
          openButton.setText( "Open File" );
    openButton.addActionListener(
             // anonymous inner class to handle openButton event
             new ActionListener() {
                // close file and terminate application
                public void actionPerformed( ActionEvent event )
                   openFile();
             } // end anonymous inner class
          ); // end call to addActionListener
          // register window listener for window closing event
          addWindowListener(
             // anonymous inner class to handle windowClosing event
             new WindowAdapter() {
                // close file and terminate application
                public void windowClosing( WindowEvent event )
                   if ( input != null )
                             closeFile();
                   System.exit( 0 );
             } // end anonymous inner class
          ); // end call to addWindowListener
          // get reference to generic task button doTask2 from BankUI
          nextButton = userInterface.getDoTask2Button();
          nextButton.setText( "Next Record" );
          nextButton.setEnabled( false );
          // register listener to call readRecord when button pressed
          nextButton.addActionListener(
             // anonymous inner class to handle nextRecord event
             new ActionListener() {
                // call readRecord when user clicks nextRecord
                public void actionPerformed( ActionEvent event )
                   readRecord();
             } // end anonymous inner class
          ); // end call to addActionListener
    //get reference to generic task button do Task3 from BankUI
          // get reference to generic task button doTask3 from BankUI
          nextRecordButton = userInterface.getDoTask3Button();
          nextRecordButton.setText( "Get Next Record" );
          nextRecordButton.setEnabled( false );
          // register listener to call readRecord when button pressed
          nextRecordButton.addActionListener(
             // anonymous inner class to handle nextRecord event
             new ActionListener() {
                // call readRecord when user clicks nextRecord
                public void actionPerformed( ActionEvent event )
                   getNextRecord();
             } // end anonymous inner class
          ); // end call to addActionListener
    ///////////from read end
          // register listener to call openFile when button pressed
          SaveAs.addActionListener(
             // anonymous inner class to handle openButton event
             new ActionListener() {
                // call openFile when button pressed
                public void actionPerformed( ActionEvent event )
                   SaveLocation();
             } // end anonymous inner class
          ); // end call to addActionListener
          // configure button doTask2 for use in this program
          SaveToFile = userInterface.getSaveStoreToFileButton();
          SaveToFile.setText( "Save to store and to file need to split this task up" );
          SaveToFile.setEnabled( false );  // disable button
          // register listener to call addRecord when button pressed
          SaveToFile.addActionListener(
             // anonymous inner class to handle enterButton event
             new ActionListener() {
                // call addRecord when button pressed
                public void actionPerformed( ActionEvent event )
                   addRecord(); // NEED TO SPLIT UP SO DONT DO BOTH
             } // end anonymous inner class
          ); // end call to addActionListener
    Exit = userInterface.getExitAndSaveButton();
          Exit.setText( "Exit " );
          Exit.setEnabled( false );  // disable button
          // register listener to call addRecord when button pressed
          Exit.addActionListener(
             // anonymous inner class to handle enterButton event
             new ActionListener() {
                // call addRecord when button pressed
                public void actionPerformed( ActionEvent event )
                   addRecord(); // adds record to to file
                   closeFile(); // closes everything
             } // end anonymous inner class
          ); // end call to addActionListener
          // register window listener to handle window closing event
          addWindowListener(
             // anonymous inner class to handle windowClosing event
             new WindowAdapter() {
                // add current record in GUI to file, then close file
                public void windowClosing( WindowEvent event )
                             if ( output != null )
                                addRecord();
                                  closeFile();
             } // end anonymous inner class
          ); // end call to addWindowListener
          setSize( 600, 500 );
          setVisible( true );
         store = new Store(100);
       } // end CreateSequentialFile constructor
       // allow user to specify file name
    ////////////////from read
      // enable user to select file to open
       private void openFile()
          // display file dialog so user can select file to open
          JFileChooser fileChooser = new JFileChooser();
          fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY );
          int result = fileChooser.showOpenDialog( this );
          // if user clicked Cancel button on dialog, return
          if ( result == JFileChooser.CANCEL_OPTION )
             return;
          // obtain selected file
          File fileName = fileChooser.getSelectedFile();
          // display error if file name invalid
          if ( fileName == null || fileName.getName().equals( "" ) )
             JOptionPane.showMessageDialog( this, "Invalid File Name",
                "Invalid File Name", JOptionPane.ERROR_MESSAGE );
          else {
             // open file
             try {
                input = new ObjectInputStream(
                   new FileInputStream( fileName ) );
                openButton.setEnabled( false );
                nextButton.setEnabled( true );
             // process exceptions opening file
             catch ( IOException ioException ) {
                JOptionPane.showMessageDialog( this, "Error Opening File",
                   "Error", JOptionPane.ERROR_MESSAGE );
          } // end else
       } // end method openFile
    public void readRecord() // need to merger with next record
          Employee record;
          // input the values from the file
          try {
         record = ( Employee ) input.readObject();
                   employeeList[count++]= record;
                   store.add(record);/////////ADDS record to Store
              store.displayAll();
              System.out.println("Count is " + store.getCount());
             // create array of Strings to display in GUI
             String values[] = {
                        String.valueOf(record.getName()),
                            String.valueOf(record.getGender()),
                        String.valueOf( record.getDateOfBirth()),
                        String.valueOf( record.getID()),
                             String.valueOf( record.getStartDate()),
                        String.valueOf( record.getSalary()),
                        String.valueOf( record.getAddress()),
                           String.valueOf( record.getNatInsNo()),
                        String.valueOf( record.getPhone())
    // i added all those bits above split onto one line to look neater
             // display record contents
             userInterface.setFieldValues( values );
          // display message when end-of-file reached
          catch ( EOFException endOfFileException ) {
             nextButton.setEnabled( false );
          nextRecordButton.setEnabled( true );
             JOptionPane.showMessageDialog( this, "No more records in file",
                "End of File", JOptionPane.ERROR_MESSAGE );
          // display error message if class is not found
          catch ( ClassNotFoundException classNotFoundException ) {
             JOptionPane.showMessageDialog( this, "Unable to create object",
                "Class Not Found", JOptionPane.ERROR_MESSAGE );
          // display error message if cannot read due to problem with file
          catch ( IOException ioException ) {
             JOptionPane.showMessageDialog( this,
                "Error during read from file",
                "Read Error", JOptionPane.ERROR_MESSAGE );
       } // end method readRecord
       private void getNextRecord()
               Employee record = employeeList[next++%count];//cycles throught accounts
          //create aray of string to display in GUI
          String values[] = {String.valueOf(record.getName()),
             String.valueOf(record.getGender()),
              String.valueOf( record.getStartDate() ), String.valueOf( record.getAddress()),
         String.valueOf( record.getNatInsNo()),
         String.valueOf( record.getPhone()),
             String.valueOf( record.getID() ),
               String.valueOf( record.getDateOfBirth() ),
         String.valueOf( record.getSalary() ) };
         //display record contents
         userInterface.setFieldValues(values);
         //display record content
    ///////////////////////////////////from read end
    private void SaveLocation()
          // display file dialog, so user can choose file to open
          JFileChooser fileChooser = new JFileChooser();
          fileChooser.setFileSelectionMode( JFileChooser.FILES_ONLY );
          int result = fileChooser.showSaveDialog( this );
          // if user clicked Cancel button on dialog, return
          if ( result == JFileChooser.CANCEL_OPTION )
             return;
          File fileName = fileChooser.getSelectedFile(); // get selected file
          // display error if invalid
          if ( fileName == null || fileName.getName().equals( "" ) )
             JOptionPane.showMessageDialog( this, "Invalid File Name",
                "Invalid File Name", JOptionPane.ERROR_MESSAGE );
          else {
             // open file
             try {
                output = new ObjectOutputStream(
                   new FileOutputStream( fileName ) );
                SaveAs.setEnabled( false );
                SaveToFile.setEnabled( true );
              Exit.setEnabled( true );
             // process exceptions from opening file
             catch ( IOException ioException ) {
                JOptionPane.showMessageDialog( this, "Error Opening File",
                   "Error", JOptionPane.ERROR_MESSAGE );
          } // end else
       } // end method openFile
       // close file and terminate application
    private void closeFile()
          // close file
          try {
              //you want to cycle through each recordand add them to store here.
                                            int storeSize = store.getCount();
                                            for (int i = 0; i<storeSize;i++)
                                            output.writeObject(store.elementAt(i));
             output.close();
    input.close();// from read!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
             System.exit( 0 );
          // process exceptions from closing file
          catch( IOException ioException ) {
             JOptionPane.showMessageDialog( this, "Error closing file",
                "Error", JOptionPane.ERROR_MESSAGE );
             System.exit( 1 );
       } // end method closeFile
       // add record to file
       public void addRecord()
          int employeeNumber = 0;
          String fieldValues[] = userInterface.getFieldValues();
          // if account field value is not empty
          if ( ! fieldValues[ BankUI.IDNUMBER ].equals( "" ) ) {
             // output values to file
             try {
                employeeNumber = Integer.parseInt(
                   fieldValues[ BankUI.IDNUMBER ] );
                        String dob = fieldValues[ BankUI.DOB ];
                        String[] dateofBirth = dob.split ("-"); // what used to put between number chnage to /
                        String sDate = fieldValues[ BankUI.START ];
                        String[] startDate = sDate.split ("-");
                        String sex = fieldValues[ BankUI.GENDER ];
                        char gender = (sex.charAt(0)); // check if m or f prob check in employee
    if ( employeeNumber >= 0 ) {
                  /* create new record =String name, char gender, Date dob, String add, String nin, String phone, String id, Date start, float salary*/
                    record  = new Employee(
                    fieldValues[ BankUI.NAME ],
                        gender,
                    new Date(     Integer.parseInt(dateofBirth[0]),
                              Integer.parseInt(dateofBirth[1]),
                              Integer.parseInt(dateofBirth[2])),
                        fieldValues[ BankUI.ADDRESS ],
                        fieldValues[ BankUI.NATINTNO ],
                        fieldValues[ BankUI.PHONE ],
                        fieldValues[ BankUI.IDNUMBER ],
              new Date(     Integer.parseInt(startDate[0]),
                              Integer.parseInt(startDate[1]),
                              Integer.parseInt(startDate[2])),
              Float.parseFloat( fieldValues[ BankUI.SALARY ] ));
                        if (!store.isFull())
                             store.add(record);
                        else
                        JOptionPane.showMessageDialog( this, "The Store is full you cannot add\n"+
                         "anymore employees. \nPlease Save Current File and Create a New File." );
                             System.out.println("Store full");
                        store.displayAll();
                        System.out.println("Count is " + store.getCount());
                                  // output record and flush buffer
                                  //output.writeObject( record );
                   output.flush();
                else
                    JOptionPane.showMessageDialog( this,
                       "Account number must be greater than 0",
                       "Bad account number", JOptionPane.ERROR_MESSAGE );
                // clear textfields
                userInterface.clearFields();
             } // end try
             // process invalid account number or balance format
             catch ( NumberFormatException formatException ) {
                JOptionPane.showMessageDialog( this,
                   "Bad ID number, Date or Salary", "Invalid Number Format",
                   JOptionPane.ERROR_MESSAGE );
             // process exceptions from file output
             catch ( ArrayIndexOutOfBoundsException ArrayException ) {
                 JOptionPane.showMessageDialog( this, "Error with Start Date or Date of Birth\nPlease enter like: 01-01-2001",
                    "IO Exception", JOptionPane.ERROR_MESSAGE );
                      // process exceptions from file output
             catch ( IOException ioException ) {
                 JOptionPane.showMessageDialog( this, "Error writing to file",
                    "IO Exception", JOptionPane.ERROR_MESSAGE );
                closeFile();
          } // end if
       } // end method addRecord
       public static void main( String args[] )
          new testing();
    } // end class CreateSequentialFile

    Sure you can read and write at the same time. But normally you would be reading from one place and writing to another place.
    I rather regret avoiding the OP's earlier post asking how to combine two classes. I looked at the two classes posted and realized the best thing to do was actually to break them into more classes. But I also realized it was going to be a big job explaining why and how, and I just don't have the patience for that sort of thing.
    So now we have a Big Ball Of Tar&trade; and I feel partly responsible.

  • Web Service From Java class, serialization problem

    Hi,
    I want to create Web Service from Java class, I made java project, generated web service from it, create web service archive project and deployed it to WAS 6.40.
    My class have 2 methods,
    public int add(int a, int b);
    public MyResponse doSomthing(MyRequest req);
    I can succesfully call add method from Web Service Navigator, it works fine but when I call doSomthing methods I get the following error:
    <b>
    Deserializing fails. Nested message: XML Deserialization Error. Result class [com.mycomp.sap_tech.ws.MyRequest] does not have property [Amount] of type [java.lang.String]. It is required to load XML..
    </b>
    Any ideas how to resolve it?
    P.S. MyRequest class is exposed throw VI, has default constractor and public getters and setters for all properties. It implements Serializable as well. Any guesses?
    Thanks in advance,
    Victor.

    Hi Bhavik, thanks for response.
    as I already mentioned it implements Serializable, so it is not the problem.
    Thanks Avi but it didn't helps iether
    Victor

  • Why do we need serializable?

    Hi,
    I read from the book about serializable, object has to implement serializable interface in order to get transferred across the internet. But I remember that I can use socket class to create a TCP port and transfer plain text across the internet; is that mean if I don't implement serializable I can only transfer plain text? so is that mean after I implement serializable i can pass the whole object across that internet?
    Also, is the RMI already implements the serializable interface by default? Thx.
    Adrian

    plain text across the internet; is that mean if I
    don't implement serializable I can only transfer plain
    text? so is that mean after I implement serializable i
    can pass the whole object across that internet? Yes.

  • Why cannnot derived class pointer point to a base class object?

    Hi,
    Pleaseeee... explain me why cannot the derived class pointer point to a base class object.
    I know that Base class pointer can point to a derived class object.
    Thanks & Regards,
    Vig....

    Example:
    class Base
    { public: void foo(); } * pBase;
    class Derived : public Base
    { public: void bar(); } * pDerived;
    Now, what would happen if you assign pDerived = new Base() and then call pDerived->bar()?By forbidding such an assignment, compiler prevents you from writing error-prone code.

  • Why use helper classes?

    I am confused about the purpose of helper classes when using EJB's. Is the idea simply to make the code more maintainable? To separate data access code from the business logic? To aid the reuse of code? Why should I choose to use a helper class rather than creating a new EJB to do the job?
    I have been unable to find any comprehensive articles, and am a bit confused!
    Thanks in advance.

    - split out code into distinct functional models
    - split out code that can be reused effectively elsewhere
    - wrap objects that need to be passed to other modules as a whole
    - performance (EJBs are slow compared to standard beans)
    - keep code shorter (per file/method) so it's easier to read and maintain
    etc. etc.

Maybe you are looking for

  • Can't restore ipod touch 2g (MC)?

    Important info beforehand: I have a iPod Touch 2g MC model, on iOS 4.2.1. I use the latest iTunes update, and my laptop OS is Windows 7... Hello all! Here's the backstory, I am new to the support community and have started using it just to find a sol

  • One to one Mapping Issue

    TopLink Version: 10.1.3.5.0.090715 JBOSS: 5.1.0 JDK: 1.6.0.17 Database: Microsoft Sql Server 2005 Problem Description: I have a table (TestTable1). This table has a PK that is a number from a sequence table as well as a 'SystemAssignedKey' that uses

  • Mini DisplayPort or Mini DVI?

    When running full 1080p out to a 65" TV, is one port better than the other or are they both really the same, just different formats?

  • Setting up QOS on EA6500

    I would like to know how to setup QOS on the linksys EA6500 wireless router. I know about the media prioritization settings, however, thats not enough for me. I would like to setup upload and download speed limits for certain devices on my network, l

  • I can not trensfer foto from Photo Booth to iPhoto

    I receive this message