Compile error by the Word extends

Hi List
I'm a absolut newbie, so don't laugh if the the problem is not a really one.
I want to compile a file it's called ChildrenBook.java.
I always get the sam error after the prompt.
c:\temp\javac ChildrenBook.java
ChildrenBook.java:3: cannot resolve symbol
symbol : class Book
location : class com.wrox.library.ChildrenBook
public class ChildrenBook extends Book {
1error
(where there is a arrow under the B of Book)
the Code of Book.java and ChildrenBook.java are below
I don't know the failure. Is a special Classpath neccessary?
I hope you can help me?
package com.wrox.library;
public class Book {
private String title;
public String getTitle() {
return title;
public void setTitle(String title) {
this.title = title;
public Book() {
public Book(String title) {
this.title = title;
package com.wrox.library;
public class ChildrenBook extends Book {
private int minimumAge;
public int getMinimumAge() {
return minimumAge;
public void setMinimumAge(int a) {
minimumAge = a;
public String getType() {
return "CHILDREN";
public ChildrenBook() {
super();
public ChildrenBook(String title) {
super(title);
}

c:\temp\javac ChildrenBook.javaIn your c:\temp directory, try creating the directories com\wrox\library\ and put the two files in here. You would also need c:\temp on your classpath (in the DOS prompt type:
set CLASSPATH=c:\temp;%CLASSPATH%
HTH,
Raj.

Similar Messages

  • [svn:fx-trunk] 5915: Fixed compilation errors in the flex4test dev project by changing mx: String to fx:String .

    Revision: 5915<br />Author:   [email protected]<br />Date:     2009-04-03 14:17:15 -0700 (Fri, 03 Apr 2009)<br /><br />Log Message:<br />-----------<br />Fixed compilation errors in the flex4test dev project by changing <mx:String> to <fx:String>.<br /><br />QE Notes: None<br />Doc Notes: None<br />Bugs: None<br />Reviewer: N/A<br /><br />Modified Paths:<br />--------------<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/NewEffects.mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/RemoveItemsTest.mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/SkinTest.mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/components/AnimationPropertiesForm. mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml

    Revision: 5915<br />Author:   [email protected]<br />Date:     2009-04-03 14:17:15 -0700 (Fri, 03 Apr 2009)<br /><br />Log Message:<br />-----------<br />Fixed compilation errors in the flex4test dev project by changing <mx:String> to <fx:String>.<br /><br />QE Notes: None<br />Doc Notes: None<br />Bugs: None<br />Reviewer: N/A<br /><br />Modified Paths:<br />--------------<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/NewEffects.mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/RemoveItemsTest.mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/SkinTest.mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/components/AnimationPropertiesForm. mxml<br />    flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml

  • Getting Compilation error in the given code,

    Hello:
    If i use setResizable(false), then maximization option will be disabled,but i want to do close and minimization option will be disabled, then what methods shall i use? Although you have given setClosable(false) and setIconifiable(false), but both methods are not working properly, plz set the methods in the given code or plz give the proper code what i need to use.
    I shall be highly grateful to you, if you kindly help me.
    import java.awt.*;
    import javax.swing.*;
    public class Test{
              public static void main(String args[]){
                   SampleFrame frame = new SampleFrame();
                        frame.setDefaultCloseOperation(3);
                        frame.setVisible(true);
    class SampleFrame extends JFrame{
              public SampleFrame(){
                   setSize(width,height);
                   setResizable(false);
                   setClosable(false); // getting error
                   setIconifiable(false); // getting error
    public static final int width = 300;
    public static final int height = 200;
    }

    I'd post the simple answer, but the reply button never seems to work on your posts.

  • PROC C Compilation error: Supect the pick up path is incorrect

    Hi
    I have installed the Proc with Oracle 10.2.0.3 client. While compilation I am getting the below error
    orbit@lxnebc46:~/prd_code> make -f dri9.mk dri_loading OS=LINUX
    Now preparing file dri_loading.c
    Pro*C/C++: Release 10.2.0.3.0 - Production on Tue Aug 5 23:52:42 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    System default option values taken from: /u01/oraClient/product/10.2.0/db//precomp/admin/pcscfg.cfg
    Error at line 7, column 11 in file /usr/include/gnu/stubs.h
    # include <gnu/stubs-32.h>
    ..........1
    PCC-S-02015, unable to open include file
    Error at line 34, column 11 in file /usr/include/stdio.h
    # include <stddef.h>
    ..........1
    PCC-S-02015, unable to open include file
    Error at line 31, column 10 in file /usr/include/bits/types.h
    #include <stddef.h>
    I suspect the problem is with extra "/" in the pick up path
    can you please tell hoe to correct it?
    present: from: /u01/oraClient/product/10.2.0/db//precomp/admin/pcscfg.cfg
    Should be : from: /u01/oraClient/product/10.2.0/db/precomp/admin/pcscfg.cfg

    Ideally speaking your pcscfg.cfg should have the paths to the directories where you will be getting all your headers from
    Based on what linux flavor & version of gcc you have the following directory will have the headers you are missing
    /usr/lib/gcc/ABC-XYZ-linux/<gcc_version_no>/include
    where ABC could be i386/i586 depending on the hardware and XYZ could be the linux flavor like redhat/suse/whatever you have

  • Compile error "illegal start of expression"

    ok. so i have to make methods for a scrabble calculator applet, and just can't seem to get it right. this is my code:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class scrabbleScore extends JApplet
        implements ActionListener
         * Make a text box
        private JPanel display;
        private JTextField word;
        private JLabel number;
        private JLabel d;
        String s = "Type word here, then hit Enter";
        String e = "|";
        String f, c = " ";
        int scr = 0;
        String str[] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
        int score[] = {1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 3, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10};
        public void init(){
            //Make text box
            word = new JTextField (
                        "Type word here, then hit Enter", 20);
            word.setBackground(Color.white);
            word.setEditable(true);
            word.addActionListener(this);
            word.selectAll();
            word.requestFocus();
            //Draw the # box
            number = new JLabel("# Appears here");
            d = new JLabel("Letter values appear here");
            //Draw the pane
            Container c = getContentPane();
            c.setLayout(new FlowLayout());
            c.add(word);
            c.add(d);
            c.add(number);
        public void actionPerformed(ActionEvent e){
             * check if word has text
            JTextField word = (JTextField)e.getSource();
            String w = word.getText();
            w = w.toUpperCase();
            w = w.trim();
            if (validateData(w) == true) {
                JOptionPane.showMessageDialog(this,
                    "You have not entered a valid word", "Error", JOptionPane.ERROR_MESSAGE);
            else {
                d.setText(wordValue(w));
                number.setText("|| Value = " + computeScore(w) + " ||");
            Boolean validateData(String w){
                while (w.compareToIgnoreCase(s) != 0) {
                    return false;
                return true;
        //Method computeScore(String word)
        String computeScore(String w){
             *Put word in an array
            String wrd[] = new String[w.length()];
            for (int i = 0; i < w.length(); i++) {
                wrd[i] = w.charAt(i) + "";
            for (int i = 0; i < wrd.length; i++) {
                String y = wrd;
    int k = y.getValue();
    scr += score[k];
    public int getValue(String y) {
    int num = 0;
    String z = str[num];
    while (y.compareTo(z) != 0) {
    num++;
    z = str[num];
    return num;
    //Return v to set text
    String v = scr + "";
    scr = 0;
    return v;
    String wordValue(String w){
    char wrd[] = new char[w.length()];
    for (int i = 0; i < w.length(); i++) {
    wrd[i] = w.charAt(i);
    for (int i = 0; i < wrd.length; i++) {
    int value = Character.getNumericValue(wrd[i]);
    value -= 10;
    String a = " " + wrd[i] + " ";
    c = "|" + a + "= " + score[value] + "|";
    e = e + c;
    f = e + "| ==>";
    c = "";
    e = "|";
    return f;
    }and i get an "illegal start or expression" compile error at the line public int getValue(String y). Does anyone know how i could fix this?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Just so you guys can see it if you want to, here's my finished code:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class scrabbleScore extends JApplet
        implements ActionListener
         * Make a text box
        private JPanel display;
        private JTextField word;
        private JLabel number;
        private JLabel d;
        String s = "Type word here, then hit Enter";
        String e = "|";
        String f, c = " ";
        int scr = 0;
        String str[] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
        int score[] = {1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 3, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10};
        public void init(){
            //Make text box
            word = new JTextField (
                        "Type word here, then hit Enter", 20);
            word.setBackground(Color.white);
            word.setEditable(true);
            word.addActionListener(this);
            word.selectAll();
            word.requestFocus();
            //Draw the # box
            number = new JLabel("# Appears here");
            d = new JLabel("Letter values appear here");
            //Draw the pane
            Container c = getContentPane();
            c.setLayout(new FlowLayout());
            c.add(word);
            c.add(d);
            c.add(number);
        public void actionPerformed(ActionEvent e){
             * check if word has text
            JTextField word = (JTextField)e.getSource();
            String w = word.getText();
            w = w.toUpperCase();
            w = w.trim();
            if (validateData(w) == true) {
                JOptionPane.showMessageDialog(this,
                    "You have not entered a valid word", "Error", JOptionPane.ERROR_MESSAGE);
            else {
                String[] wrd = makeArray(w);
                d.setText(wordValue(w, wrd));
                number.setText("|| Value = " + computeScore(w, wrd) + " ||");
                resetValues();
            Boolean validateData(String w){
                while (w.compareToIgnoreCase(s) != 0) {
                    return false;
                return true;
        //Method getValue
        int getValue(String y) {
            int num = 0;
            String z = str[num];
            while (y.compareTo(z) != 0) {
                num++;
                z = str[num];
            return num;
        //Method makeArray
        String[] makeArray(String w) {
            String wrd[] = new String[w.length()];
            for (int i = 0; i < w.length(); i++) {
                wrd[i] = w.charAt(i) + "";
               return wrd;
        //method makeLetterValues
        String makeLetterValues(String[] wrd, int i, int value) {
            String a = " " + wrd[i] + " ";
            c = "|" + a + "= " + score[value] + "|";
            e = e + c;
            return e;
        //method resetValues
        void resetValues() {
            c = "";
            e = "|";
            scr = 0;
        //Method computeScore(String word)
        String computeScore(String w, String[] wrd){
            //get score
            for (int i = 0; i < wrd.length; i++) {
                String y = wrd;
    int k = getValue(y);
    scr += score[k];
    //Return v to set text
    String v = scr + "";
    return v;
    //method wordValue
    String wordValue(String w, String[] wrd){
    //make letter value string
    for (int i = 0; i < wrd.length; i++) {
    int value = getValue(wrd[i]);
    String e = makeLetterValues(wrd, i, value);
    f = e + "| ==>";
    return f;

  • Error in the following prog

    hi...plz tell me the reason of compilation error in the following prog
    class Sup1{
    public Sup1(){
    System.out.println("Hai");
    private Sup1(String str){
    System.out.println(str);
    public class Test5 extends Sup1{
    private Test5(String str){
    System.out.println(str);
    super();
    public static void main(String[] args) {
    Test5 t5 = new Test5("HI");
    }

    super() must me the first statement of the constructor

  • No Compiling Error but doesn't work NEW

    import java.awt.*;
    import java.awt.geom.*;
    import java.awt.event.*;
    import java.applet.*;
    public class javacw extends Applet implements KeyListener, Runnable
         Area pandaArea;
         Graphics2D g2d;
         // Providing coordinate control for the Panda
         int pandax=20, panday=50;
         // Animation condition. True = animate, False = static.
         boolean pandabool=false, laidOut=false;
         boolean left;
         boolean right;
         boolean up;
         boolean down;
    Thread animThread;
    Dimension offDimension;          // Defines an offscreen Dimension
    Image offImage;                    // Defines an offscreen Image
    Graphics offGraphics;          // Defines an offscreen Graphics
         Image panda;                    // Defines an Image object for panda
         public void init()
              // Set the layout of the applet to null
              setLayout(null);
              panda = getImage(getCodeBase(), "panda.gif");
              pandax=0;
              panday=0;
              addKeyListener(this);
              public void Move ()
                   if (left) {
                        pandax = pandax - 10;
                   if (right) {
                        pandax = pandax + 10;
                   if (up){
                        panday = panday + 10;
                   if (down){
                        panday = panday - 10;
              public void keyTyped(KeyEvent event){}
              public void keyPressed(KeyEvent event)
                   if (event.getKeyCode() == KeyEvent.VK_LEFT) left = true;
                   if (event.getKeyCode() == KeyEvent.VK_RIGHT) right = true;
                   if (event.getKeyCode() == KeyEvent.VK_DOWN) down = true;
                   if (event.getKeyCode() == KeyEvent.VK_UP) up = true;
                   repaint();
              public void keyReleased(KeyEvent e)
                   if (e.getKeyCode() == KeyEvent.VK_LEFT) left = false;
                   if (e.getKeyCode() == KeyEvent.VK_RIGHT) right = false;
                   if (e.getKeyCode() == KeyEvent.VK_UP) up = false;
                   if (e.getKeyCode() == KeyEvent.VK_DOWN) down = false;
                   repaint();
    public void start()
              // Make sure the thread hasn already been created
         if (animThread == null) {
         animThread = new Thread(this, "anim");
         animThread.start();
    public void run() {
              // Create a current thread.
              Thread myThread = Thread.currentThread();
         // As long as the thread is created, keep redrawing the
         // canvas and then pausing for 10 miliseconds.
         while (animThread == myThread) {
                   repaint();
         try {
              Thread.sleep(10);
         } catch (InterruptedException e){}
    public void paint(Graphics g)
              if (offImage != null) {
              g2.drawImage(offImage, 0, 0, null);
         // Overide the update() method
    public void update(Graphics g) {
              Dimension d = getSize();
              // Create the offscreen graphics context
              if ((offGraphics == null)
              || (d.width != offDimension.width)
              || (d.height != offDimension.height)) {
              offDimension = d;
              offImage = createImage(d.width, d.height);
              offGraphics = offImage.getGraphics();
              // Erase the previous image
              offGraphics.setColor(getBackground());
              offGraphics.fillRect(0, 0, d.width, d.height);
              offGraphics.setColor(Color.black);
              paintFrame(offGraphics);               // Paint the frame into the image
              g.drawImage(offImage, 0, 0, null);     // Paint the image onto the screen
    public void paintFrame(Graphics g) {
              Graphics2D g2d = (Graphics2D)g;
              g2d.drawImage(panda, pandax, panday, this);
              if (pandabool) {               // If pandabool==true, animate the panda =)
                   if (pandax>400) pandax=0;
                   if(pandax<0)pandax=400;
    public void stop()
         animThread = null;
              offImage = null;
              offGraphics = null;
    public void destroy(){}
    hi everyone, i'm new to java and i'm trying to wirte a keyListener to makes my image move. btw there are no compiling errors but the key is not working. hope that someone can help me. appreciate

    You have a Move() function that you're not calling! Not much use unless you place a call to it in your run() function, eh?
    Next time you post code, use the  tags.

  • Compile Error in Enhanced For Loop

    I'm learning generic collections and for practice wrote a simple class that uses a HashMap to store data. However, I'm getting a compile error for the code that accesses the HashMap. The error and code for my class follow.
    Can anyone help?
    Thanks...
    =====================
    The compile error:
    =====================
    MapDict.java:37: package Map does not exist for( Map.Entry entry : glossary.entrySet()  )                        ^1 error=======================
    The code for my class:
    =======================
    import java.util.Scanner;
    import java.util.HashMap;
    public class MapDict
         HashMap<String, String> glossary = new HashMap<String, String>();
         public void getEntries()
              Scanner sc = new Scanner( System.in ).useDelimiter("\n");
              String moreEntries = "y";
              String word        = "";
              String definition  = "";
              while ( moreEntries.toUpperCase().equals( "Y") )
                   System.out.print("Enter word: ");
                   word = sc.next();
                   System.out.print("Enter definition: ");
                   definition = sc.next();
                   glossary.put( word, definition);
                   System.out.print("Another glossary item? (y/n) ");
                   moreEntries = sc.next();
         public void displayEntries()
              System.out.println( glossary.size() );
              // Here is where the compile error occurs:
              for( Map.Entry entry : glossary.entrySet()  )
                   System.out.println( "\nWord: " + entry.getKey() + " Definition: " + entry.getValue() );
    }

    import java.util.Scanner;
    import java.util.HashMap;I don't see java.util.Map or java.util.Map.Entry listed here....

  • Compiler error: Missing JSP library?

    Hi All,
    I am really new at this, and I know that I'm making some sort of simple mistake.
    I have an existing application running on a 9i middle tier. I want to make a couple of simple changes to a .JSP. So I downloaded the EAR file, loaded it into JDeveloper (10.1.3.0.4 SU4), made my changes and tried to run it locally. I got 241 compiler errors. So I reverted to the original EAR, and I still get 241 compiler errors.
    The errors are:
    Error(1,5): illegal forward reference
    Error(1,14): duplicate definition of class _index
    Error(1,48): HttpJsp not found in class _index
    Error(1,62): method getPageContext(_index, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, null, boolean, int, boolean) not found in class javax.servlet.jsp.JspFactory
    The code is:
    <sample>
    import oracle.jsp.runtime.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    public class _index extends oracle.jsp.runtime.HttpJsp {
    public final String _globalsClassName = null;
    public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException {
    response.setContentType( "text/html;charset=windows-1252");
    /* set up the intrinsic variables using the pageContext goober:
    ** session = HttpSession
    ** application = ServletContext
    ** out = JspWriter
    ** page = this
    ** config = ServletConfig
    ** all session/app beans declared in globals.jsa
    PageContext pageContext = JspFactory.getDefaultFactory().getPageContext( this, request, response, null, true, JspWriter.DEFAULT_BUFFER, true);
    // Note: this is not emitted if the session directive == false
    HttpSession session = pageContext.getSession();
    if (pageContext.getAttribute(OracleJspRuntime.JSP_REQUEST_REDIRECTED, PageContext.REQUEST_SCOPE) != null) {
    pageContext.setAttribute(OracleJspRuntime.JSP_PAGE_DONTNOTIFY, "true", PageContext.PAGE_SCOPE);
    JspFactory.getDefaultFactory().releasePageContext(pageContext);
    return;
    </sample>
    So, I read the forums, etc and decided that I need ojsp.jar included in my project libraries. So I went to libraries under project properties, and I already have "Jsp Runtime" as my first library and it claims to include ojsp.jar. I've tried removing and re-adding the library, adding other libraries ("J2EE","Servlet Runtime","OC4J Deployment Plugin"...), and a dozen other things, none of which have allowed my to compile.
    Any ideas on what I should do?
    Steven

    you might need to post more code, but basically the
    compiler is complaining because you do not have a
    return statement at the end of your method.
    if you do not have a return statement (with a matching
    return type) then the compiler will complain. If you
    don't understand this then post the code to your
    method and we can get it fixed.
    public String[] read(InputStream list) throws
    Exception {
    String[] stringArray;
    return stringArray;
    The code is the most complex I have written so far but here is some of it. (the begining and the end)
    public String[] read(InputStream list) throws Exception {
    if (list != null) {
    String[] stringArray = null;
    try {
    while {
    //add strings to string array
    }//end of while
    return stringArray;
    }// end try
    catch{
    }//end of method

  • Compile error: Eclipse confuses Type with Window.Type

    Hi there,
    I'm using Eclipse Luna (Version: Luna Service Release 1a (4.4.1)) and JDK 1.8.0_31.
    Our projects are build with Maven. Maven build works without any problems and also our Netbeans users do not have any issues.
    But Eclipse shows compile errors and it seems, that it confuses the generic Java Type with java.awt.Window.Type which was introduced with Java 1.7.
    I created the following minimized example, which reproduces the compile problem.
    This class creates a instance of MyDialog which uses the generic Java Type:
    public class TypeTest {
    public static void main(String[] args) {
    String str = new String();
    MyDialog<String> dialog = new MyDialog<String>();
    String x = dialog.getValue(str);
    And this is the implementation of the dialog of type Type:
    import javax.swing.JDialog;
    public class MyDialog<Type> extends JDialog {
    public MyDialog() {
    super();
    public Type getValue(Type value) {
    return value;
    Eclipse persists that for getValue in MyDialog the Type is a Window.Type, which is wrong!
    This is the compile error message:
    The method getValue(Window.Type) in the type MyDialog<String> is not applicable for the arguments (String)
    Since it works without any issues for the maven build and the netbeans users, it seems to me that this is an Eclipse issue or bug? Or can someone give me a hint, how this can be solved?
    Thanks and kind regards,
    Daniel

    I just found that this question has never been answered, and from a cursory look I wasn't actually sure if this is a bug or not.
    Turns out I already wrote a little "essay" on what seems to be the same issue, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=396378#c6
    Bottom line: JLS doesn't seem to specify how to interpret / handle a conflict between an inherited member type and a same-named type parameter.
    This seems to impliy that both implementations, javac and ecj - although different - are both valid wrt JLS.

  • EJB Compile Error

    Hello,
    I have the following EJB code, and received a compile error at the Salary create() method. I compiled these modules in the following sequence SalaryHome, SalaryEJB, Salary. All .java files located under directory simpleBean. Could anyone shed lights on what I've done wrong? Thanks in advance.
    //=============
    package simpleBean;
    public interface Salary extends javax.ejb.EJBObject
    double calculateSalary (int annualSalary, int pensionContrib, double bonus)
    throws java.rmi.RemoteException;
    //==================
    package simpleBean;
    public interface SalaryHome extends javax.ejb.EJBHome
    Salary create () throws java.rmi.RemoteException,
    ^can not resolve symbol
    javax.ejb.CreateException;
    //===================
    package simpleBean;
    import javax.ejb.*;
    public class SalaryEJB implements SessionBean
    public void ejbCreate() {}
    public void ejbRemove() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
    public void setSessionContext (SessionContext ctx) {}
    private static double taxRate = 28;
    public double calculateSalary (int annualSalary, int pensionContrib, double bonus)
    double monthly = 0;
    monthly = annualSalary / 12;
    // add bonus
    monthly = monthly + bonus;
    // remove pension contribution
    monthly = monthly - (monthly * (pensionContrib / 100) );
    //remove tax
    monthly = monthly - (monthly * (taxRate / 100) );
    return monthly;
    //======================

    Hi,
    U have to also use the import statement for accessing the Salary.class file in other java files.
    use import simpleBean.*; just after the package simpleBean; statement
    in all other java files : extending EJBHome, implementing SessionBean and the client java file too.
    Hope this helps,
    Seetesh

  • Another Mysterious Compiler Error

    I get a warning and a compiler error on the code below...
    public class ClassA {}
    public interface InterfaceB {}
    public class ClassAB extends ClassA implements InterfaceB {}
    public interface HasAB
        <T extends ClassA & InterfaceB> T getAB();
    public class ClassHasAB implements HasAB
        public ClassAB getAB() {return new ClassAB();}
    public class Foo
        public void foo(ClassA a) { /* do something */ }
        public void bar()
            HasAB hasAB = new ClassHasAB();
            foo(hasAB.getAB());
    }The warning is on this line:
    public ClassAB getAB() {return new ClassAB();}
    Type safety: The return type ClassAB for getAB() from the type ClassHasAB needs unchecked conversion to conform to T from the type HasAB
    The error is on this line:
    foo(hasAB.getAB());
    Bound mismatch: The generic method getAB() of type HasAB is not applicable for the arguments (). The inferred type ClassA is not a valid substitute for the bounded parameter <T extends ClassA & InterfaceB>
    Anyone able to explain why?
    I've read Angelika Langer's FAQ, but perhaps I missed the relevant section? If so, my apologies. Feel free to point it out to me.
    Note: I'm using jdk 1.6.

    In case you're wondering why I'm even doing this, here's my use case...
    I'm using the Google Web Toolkit (GWT). It has a class called Widget, which is the ancestor class of a whole hierarchy of other classes. GWT also has an interface called SourcesKeyboardEvents, allowing you to attach listeners. Some of the sub-classes of Widget (but not all) implement it. Widget itself does not implement SourcesKeyboardEvents.
    Several of the GWT classes have methods which take Widget arguments. For example, the FlexTable class has a setWidget(int row, int col, Widget widget) method.
    Now, I have created a DataRow interface with several getter methods with signatures such as...
    <T extends Widget & SourcesKeyboardEvents> T getNameWidget();
    <T extends Widget & SourcesKeyboardEvents> T getDobWidget();
    <T extends Widget & SourcesKeyboardEvents> T getSexWidget();Elsewhere, I want to take a collection of these DataRow objects, and pull widgets from their getters and throw them into a FlexTable (using setWidget, which expects a Widget object). But I also want to add KeyboardListeners to each of them (using their addKeyboardListener method, which all SourcesKeyboardEvents objects must have).
    So, I guess my question is... If the compiler won't let me do as above, what type should my DataRow getter methods return? I need to be able to treat the objects as both Widgets and SourcesKeyboardEvents objects. Sorry if I've missed something obvious. ;)
    Perhaps you can think of a better design. I'd be interested. Nevertheless, I'm also interested in the theory / bug behind the compiler error in the original post.

  • Getting a compilation error when deploying a web service to OC4J.

    The following are the error that I got from Oracle AS server console:
    [Feb 5, 2007 11:31:14 AM] Application Deployer for edsssaws STARTS.
    [Feb 5, 2007 11:31:14 AM] Copy the archive to D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws.ear
    [Feb 5, 2007 11:31:14 AM] Initialize D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws.ear begins...
    [Feb 5, 2007 11:31:14 AM] Unpacking edsssaws.ear
    [Feb 5, 2007 11:31:14 AM] Done unpacking edsssaws.ear
    [Feb 5, 2007 11:31:14 AM] Unpacking edsssaws-web.war
    [Feb 5, 2007 11:31:16 AM] Done unpacking edsssaws-web.war
    [Feb 5, 2007 11:31:16 AM] Initialize D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws.ear ends...
    [Feb 5, 2007 11:31:16 AM] Starting application : edsssaws
    [Feb 5, 2007 11:31:16 AM] Initializing ClassLoader(s)
    [Feb 5, 2007 11:31:16 AM] Initializing EJB container
    [Feb 5, 2007 11:31:16 AM] Loading connector(s)
    [Feb 5, 2007 11:31:16 AM] Starting up resource adapters
    [Feb 5, 2007 11:31:16 AM] Initializing EJB sessions
    [Feb 5, 2007 11:31:16 AM] Committing ClassLoader(s)
    [Feb 5, 2007 11:31:16 AM] Initialize edsssaws-web begins...
    [Feb 5, 2007 11:31:16 AM] Initialize edsssaws-web ends...
    [Feb 5, 2007 11:31:16 AM] Started application : edsssaws
    [Feb 5, 2007 11:31:16 AM] Binding web application(s) to site default-web-site begins...
    [Feb 5, 2007 11:31:16 AM] Binding edsssaws-web web-module for application edsssaws to site default-web-site under context root edsssaws
    [Feb 5, 2007 11:31:35 AM] Operation failed with error: Error compiling :D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws\edsssaws-web: compilation error occurred
    I don't have any problem to build the webservice using oracle:assemble command in ant script, nor compilation error in the build time.
    The error log shows as the following:
    <MESSAGE>
    <HEADER>
    <TSTZ_ORIGINATING>2007-02-05T11:31:35.392-06:00</TSTZ_ORIGINATING>
    <COMPONENT_ID>oc4j</COMPONENT_ID>
    <MSG_TYPE TYPE="TRACE"></MSG_TYPE>
    <MSG_LEVEL>16</MSG_LEVEL>
    <HOST_ID>w2gzfdx801</HOST_ID>
    <HOST_NWADDR>148.94.36.32</HOST_NWADDR>
    <MODULE_ID>admin.jmx.client.EventManager</MODULE_ID>
    <THREAD_ID>26</THREAD_ID>
    <USER_ID>SYSTEM</USER_ID>
    </HEADER>
    <CORRELATION_DATA>
    <EXEC_CONTEXT_ID><UNIQUE_ID>148.94.36.32:33615:1170696695392:16</UNIQUE_ID><SEQ>0</SEQ></EXEC_CONTEXT_ID>
    </CORRELATION_DATA>
    <PAYLOAD>
    <MSG_TEXT>1 events to be dispatched for: oracle.oc4j.admin.management.mejb.MEjb@a8c31b and domain: oc4j-w2gzfdx801.amer.corp.eds.com-12401-default</MSG_TEXT>
    </PAYLOAD>
    </MESSAGE>
    <MESSAGE>
    <HEADER>
    <TSTZ_ORIGINATING>2007-02-05T11:31:35.392-06:00</TSTZ_ORIGINATING>
    <COMPONENT_ID>oc4j</COMPONENT_ID>
    <MSG_TYPE TYPE="TRACE"></MSG_TYPE>
    <MSG_LEVEL>1</MSG_LEVEL>
    <HOST_ID>w2gzfdx801</HOST_ID>
    <HOST_NWADDR>148.94.36.32</HOST_NWADDR>
    <MODULE_ID>admin.jmx.client.CoreRemoteMBeanServer</MODULE_ID>
    <THREAD_ID>26</THREAD_ID>
    <USER_ID>SYSTEM</USER_ID>
    </HEADER>
    <CORRELATION_DATA>
    <EXEC_CONTEXT_ID><UNIQUE_ID>148.94.36.32:33615:1170696695392:16</UNIQUE_ID><SEQ>0</SEQ></EXEC_CONTEXT_ID>
    </CORRELATION_DATA>
    <PAYLOAD>
    <MSG_TEXT>Dispatching event type: deploy.edsssaws and message: Application Deployer for edsssaws FAILED. to listener with id: 0 on MBeanServer proxy: oracle.oc4j.admin.management.mejb.MEjb@a8c31b</MSG_TEXT>
    </PAYLOAD>
    </MESSAGE>
    <MESSAGE>
    <HEADER>
    <TSTZ_ORIGINATING>2007-02-05T11:31:35.392-06:00</TSTZ_ORIGINATING>
    <COMPONENT_ID>oc4j</COMPONENT_ID>
    <MSG_TYPE TYPE="ERROR"></MSG_TYPE>
    <MSG_LEVEL>1</MSG_LEVEL>
    <HOST_ID>w2gzfdx801</HOST_ID>
    <HOST_NWADDR>148.94.36.32</HOST_NWADDR>
    <MODULE_ID>admin.deploy.spi.status.ProgressObjectImpl</MODULE_ID>
    <THREAD_ID>26</THREAD_ID>
    <USER_ID>SYSTEM</USER_ID>
    </HEADER>
    <CORRELATION_DATA>
    <EXEC_CONTEXT_ID><UNIQUE_ID>148.94.36.32:33615:1170696695392:16</UNIQUE_ID><SEQ>0</SEQ></EXEC_CONTEXT_ID>
    </CORRELATION_DATA>
    <PAYLOAD>
    <MSG_TEXT>java.lang.InstantiationException: Error compiling :D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws\edsssaws-web: compilation error occurred</MSG_TEXT>
    <SUPPL_DETAIL><![CDATA[oracle.oc4j.admin.jmx.shared.exceptions.InternalException: java.lang.InstantiationException: Error compiling  :D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws\edsssaws-web: compilation error occurred
         at oracle.oc4j.admin.jmx.shared.deploy.NotificationUserData.<init>(NotificationUserData.java:107)
         at oracle.oc4j.admin.internal.Notifier.reportError(Notifier.java:429)
         at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:123)
         at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun(OC4JDeployerRunnable.java:52)
         at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(DeployerRunnable.java:81)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:819)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: oracle.oc4j.admin.internal.DeployerException: java.lang.InstantiationException: Error compiling  :D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws\edsssaws-web: compilation error occurred
         at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplicationBinder.java:214)
         at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplicationBinder.java:96)
         at oracle.oc4j.admin.internal.ApplicationDeployer.bindWebApp(ApplicationDeployer.java:541)
         at oracle.oc4j.admin.internal.ApplicationDeployer.doDeploy(ApplicationDeployer.java:197)
         at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:93)
         ... 4 more
    Caused by: java.lang.InstantiationException: Error compiling  :D:\product\10.1.3\OracleAS_1\j2ee\home\applications\edsssaws\edsssaws-web: compilation error occurred
         at com.evermind.server.http.WrapperClassGenerator.generateWebServiceArts(WrapperClassGenerator.java:98)
         at com.evermind.server.http.HttpApplication.generateWebServiceArtifacts(HttpApplication.java:8403)
         at com.evermind.server.http.HttpApplication.populateLoaderWithWebServicesDeploymentCache(HttpApplication.java:5465)
         at com.evermind.server.http.HttpApplication.populateLoader(HttpApplication.java:5394)
         at com.evermind.server.http.HttpApplication.initClassLoader(HttpApplication.java:5333)
         at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:645)
         at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:428)
         at com.evermind.server.Application.getHttpApplication(Application.java:512)
         at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1975)
         at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:1894)
         at com.evermind.server.http.HttpSite.addHttpApplication(HttpSite.java:1591)
         at oracle.oc4j.admin.internal.WebApplicationBinder.bindWebApp(WebApplicationBinder.java:206)
         ... 8 more
    ]]></SUPPL_DETAIL>
    </PAYLOAD>
    </MESSAGE>
    Any idea why it happened?
    Thanks,
    Jason

    Hello,
    I do not see why you have this error, is it the only log entry that you have? Anything in the application.log?
    Can you send me the ear? tugdual [dot] grall [at] oracle [dot] com
    Regards
    Tugdual Grall

  • C# compiling error: 'System.Array' does not contain a definition for 'Select' and no extension method 'Select' accepting a first argument of type 'System.Array' could be found (are you missing a using directive or an assembly reference?)

    Hello experts,
    I'm totally new to C#. I'm trying to modify existing code to automatically rename a file if exists. I found a solution online as follows:
    string[] allFiles = Directory.GetFiles(folderPath).Select(filename => Path.GetFileNameWithoutExtension(filename)).ToArray();
            string tempFileName = fileName;
            int count = 1;
            while (allFiles.Contains(tempFileName ))
                tempFileName = String.Format("{0} ({1})", fileName, count++); 
            output = Path.Combine(folderPath, tempFileName );
            string fullPath=output + ".xml";
    However, it gives the following compilation errors
    for the Select and Contain methods respectively.:
    'System.Array' does not contain a definition for 'Select' and no extension method 'Select' accepting a first argument of type 'System.Array' could be found
    (are you missing a using directive or an assembly reference?)
    'System.Array' does not contain a definition for 'Contains' and no extension method 'Contains' accepting a first argument of type 'System.Array' could be
    found (are you missing a using directive or an assembly reference?)
    I googled on these errors, and people suggested to add using System.Linq;
    I did, but the errors persist. 
    Any help and information is greatly appreciated.
    P. S. Here are the using clauses I have:
    using System;
    using System.Data;
    using System.Windows.Forms;
    using System.IO;
    using System.Collections.Generic;
    using System.Text;
    using System.Linq;

    Besides your issue with System.Core, you also have a problem with the logic of our code, particularly your variables. It is confusing what your variables represent. You have an infinite loop, so the last section of code is never reached. Take a look 
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    namespace consAppFileManipulation
    class Program
    static void Main(string[] args)
    string fullPath = @"c:\temp\trace.log";
    string folderPath = @"c:\temp\";
    string fileName = "trace.log";
    string output = "";
    string fileNameOnly = Path.GetFileNameWithoutExtension(fullPath);
    string extension = Path.GetExtension(fullPath);
    string path = Path.GetDirectoryName(fullPath);
    string newFullPath = fullPath;
    string[] allFiles = Directory.GetFiles(folderPath).Select(filename => Path.GetFileNameWithoutExtension(filename)).ToArray();
    string tempFileName = fileName;
    int count = 1;
    //THIS IS AN INFINITE LOOP
    while (allFiles.Contains(fileNameOnly))
    tempFileName = String.Format("{0} ({1})", fileName, count++);
    //THIS CODE IS NEVER REACHED
    output = Path.Combine(folderPath, tempFileName);
    fullPath = output + ".xml";
    //string fullPath = output + ".xml";
    UML, then code

  • Compiler errors when using dynamic text in a class

    I have created a MovieClip with a custom class that has a dynamic text field (called "textArea"), which I want to modify by the Component Inspector, as well as via a custom method using:
    textArea.text = newText;
    It works fine in all cases and there are no problems, but the compiler still wants to give me the error:
    1120: Access of undefined property textArea.
    The error doesn't appear when I remove the component parameters (so that it's just a normal MovieClip). It still works, even with the error, so I'm not sure why it wants to complain. Am I doing something wrong or is it just being bitchy?

    By defining them in the class and using the class name under component definition:
    [Inspectable(name="Text", type=String, defaultValue="")]
    public function set text(setText:String)
         textArea.text = setText;
    public function get text():String
         return textArea.text;
    A problem I run into is that the compiler errors prevent the parameters from being defined so I comment out every line that has to do with textArea, define the component, then uncomment them so that it'll work when it runs.

Maybe you are looking for