nullpointer exception while try to retrieve the elements from the array object

R

rajachezhian

hi,
i had created the array object by using getter/setter method.while i
try to retrieve the elements from the array object. null pointer
exception raise in line no : 35 and line no: 64 .Any body help me to
over come my problem.here's my coding

//Sample .java for Menu to get List Object to a Array
//getter/setter method is in Menu.java

package example;

import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.Document;
import org.jdom.Element;
import java.util.*;
import java.io.*;


public class ParseXml
{

public static void main(String[] args)
{
Menu mainMenu = new Menu();
try{
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build( new File("C:/Application/
Specification/ApplicationMenu.xml"));
Element root = ( Element)doc.getRootElement();
List listroot = root.getChildren();
Iterator itr = listroot.iterator();
while( itr.hasNext()){
Element nextChild = ( Element)itr.next();

mainMenu.setDescription( nextChild.getAttribute( "description").getValue());
mainMenu.setMenuID( nextChild.getAttribute( "id").getValue());
getConsolidateMenu( mainMenu, nextChild, 0);
}
}catch( Exception e){
e.printStackTrace();
}
printMenu( mainMenu);
}
public static void getConsolidateMenu( Menu menu, Element current,
int depth){
printSpaces( depth);

System.out.println( current.getAttribute( "description").getValue());
List list = current.getChildren();
Iterator it = list.iterator();
Menu mainMenu = new Menu();
Menu [] subMenu = new Menu[list.size()];
int i = 0;
while( it.hasNext()){
Element child = (Element)it.next();

mainMenu.setDescription( child.getAttribute( "description").getValue());
mainMenu.setMenuID( child.getAttribute( "id").getValue());
subMenu = new Menu();

subMenu.setDescription(child.getAttribute( "description").getValue());
subMenu.setMenuID( child.getAttribute( "id").getValue());
mainMenu.setSubMenu( subMenu);
getConsolidateMenu( mainMenu, child, depth + 1);
i++;
}
}
public static void printSpaces( int n){
for( int i = 0; i <= n; i++){
System.out.print( " ");
}
}
public static void printMenu( Menu menu){
Menu mainMenu = new Menu();
Menu [] subMenu = mainMenu.getSubMenu();
for( int i = 0; i < subMenu.length; i++){
System.out.println( subMenu);
}
}
}
//Menu Class for ParseXml.java getter/setter method

package example;

public class Menu
{
String menuID;
String description;
Boolean isService;
String serviceID;
Menu [] subMenu;
public void setMenuID( String menuID){
this.menuID = menuID;
}
public String getMenuID(){
return menuID;
}
public void setDescription( String description){
this.description = description;
}
public String getDescription(){
return description;
}
public void setIsService( Boolean isService){
this.isService = isService;
}
public Boolean getIsService(){
return isService;
}
public void setServiceID( String serviceID){
this.serviceID = serviceID;
}
public String getServiceID(){
return serviceID;
}
public void setSubMenu( Menu [] subMenu){
this.subMenu = subMenu;
}
public Menu[] getSubMenu(){
return subMenu;
}
}
Thanks in advance,

cheers,
raja
 
P

Patricia Shanahan

hi,
i had created the array object by using getter/setter method.while i
try to retrieve the elements from the array object. null pointer
exception raise in line no : 35 and line no: 64 .Any body help me to
over come my problem.here's my coding
....

I have some notes on how to debug at
http://home.earthlink.net/~patricia_shanahan/debug/

In your case I would start with two competing theories, and try to
construct tests to see if either is true:

1. An array access was attempted before the set method was called.

2. The set method was called, but the last time it was called before the
failing access its argument was null.

Patricia
 
R

rajachezhian

...

I have some notes on how to debug athttp://home.earthlink.net/~patricia_shanahan/debug/

In your case I would start with two competing theories, and try to
construct tests to see if either is true:

1. An array access was attempted before the set method was called.

2. The set method was called, but the last time it was called before the
failing access its argument was null.

Patricia

hello patricia,
Thanks for your reply,i will try it.

with thanks,
raja
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,046
Latest member
Gavizuho

Latest Threads

Top