Use String as name class

Hello, I have a class name on a string variable, and a method name on other string variable. I would like use this strings to invoke class and it's method, how can i do it? Thanks�����
For example:
String class_name = car //name of a class
String method_name = getOwner // class car method
// How can I invoke the class and method with this strings?

// How can I invoke the class and method with this
strings?Java isn't designed to handle this kind of programming. Java uses strong type checking to make programs more safe. If you often end up wanting to do this why not use a more free-wheeling scripting language instead, such as Groovy,
http://www-128.ibm.com/developerworks/java/library/j-pg07195.html

Similar Messages

  • How to use String to name objects

    Hello,
    I have an array of 100 Strings and I want to create 100 objects of a Class with same names as the ones in the Strings, is there any way to do it?
    I have searched the forum and I think it can be done with a Map Class, but I wonder if there is a more convenient way.
    Thanks,
    Kostas

    Any way other than actually putting them into the map? What did you have in mind? Some kind of zen map, perhaps? :-)
    This is exactly the sort of thing a map is for - mapping instances of one class to instances of another; in this case mapping strings to Resources. So this is almost certainly the best data structure.
    How you obtain the names and the Resources is another matter. Taking them in as separate arrays (which might have different lengths) may not be the best solution. A better solution might be to make the Resources able to identify themselves so you could add them to the Map and ask them for their names to use as the keys.
    Also, I notice that you're creating an array of these resources, but the array will be initialised with 100 (actually, 101 - 0..100) null pointers. This is probably not what you want. And even correctly initialising the array with Resources constructed through the default constructor might not be what you want. You could, maybe, wrap your map with another class which queries the map and lazily creates Resources for you if they don't already exist.

  • Using strings within different classes...help!!!!!!!

    Plz tell me how i can access a string that is defined in a another class.For example I have a string defined in a class i need to access it in a another class .The dot operator doesnt work unless the class in which string is defined is instantiated in the class where i need to access it.How do i do it then? .Iam not able to write a method to access the string (Smebody in the forum had suggested writing a method).Plz help me out?.The string is entered as user input during runtime .

    I should correct myself. Please post code that will also run as a program on our boxes. Also, in your current code Clicka doesn't have a Click object anywhere.
    One problem I see is in your first program Click is acting as an ActionListener, and your input string will only become available after the ActionListener has fired. So any program that wants the input String had better only request it after the listener has fired, has had its actionPerformed method called. So in this situation, how do you notify any interested programs that this has happened? One way is to use the observer pattern. This can be simply applied using a ChangeListener like so:
    Click.java
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.JOptionPane;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ChangeListener;
    public class Click implements ActionListener
      private String input = "";
      List<ChangeListener> changeListeners = new ArrayList<ChangeListener>();
      public void actionPerformed(ActionEvent event)
        input = JOptionPane
            .showInputDialog("Enter the location of hex file (example C://new.txt");
        JOptionPane.showMessageDialog(null, "You have selected " + input);
        ChangeEvent e = new ChangeEvent(this);
        for (ChangeListener cl : changeListeners)
          cl.stateChanged(e);
      public void addChangeListener(ChangeListener cl)
        changeListeners.add(cl);
      public String getInput()
        return input;
    }UseClick.java
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ChangeListener;
    public class UseClick
      private JPanel mainPanel = new JPanel();
      private Click click;
      private JTextField textField = new JTextField(15);
      public UseClick()
        click = new Click();
        click.addChangeListener(new ChangeListener()
          public void stateChanged(ChangeEvent e)
            String input = click.getInput();
            textField.setText(input);
        JButton clickBtn = new JButton("Click");
        clickBtn.addActionListener(click);
        textField.setEditable(false);
        mainPanel.add(clickBtn);
        mainPanel.add(textField);
      public JPanel getMainPanel()
        return mainPanel;
      private static void createAndShowUI()
        JFrame frame = new JFrame("UseClick");
        frame.getContentPane().add(new UseClick().getMainPanel());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
      public static void main(String[] args)
        java.awt.EventQueue.invokeLater(new Runnable()
          public void run()
            createAndShowUI();
    }

  • Using an array of strings to name an object

    Hey everyone
    I have an array of strings that are supposed to be the names of each panel in a grid, but I dont know how to use the string values to name the panels. From searching the forums almost everything refered to using a Map to do this, but I still can't grasp how to use one. Can someone help me with this?
    import java.awt.*;
    import javax.swing.border.*;
    import javax.swing.*;
    public class test
        public test()
        public JPanel grid()
             JPanel mainPanel = new JPanel(new GridLayout(10, 10));
             String [] names = new String[100];
             Border innerBorder = BorderFactory.createLineBorder(Color.black, 1);
              for (int i = 0; i < 100; i++)
                   names[i] = "Panel" + i;
              for (int r = 0; r < 100; r++)
                   String varName = names[r];
                   JPanel /*I would like the JPanel to be named what the string varName is*/justSoItCompiles = new JPanel(new GridLayout(2,1));
                   /*The JPanel above*/justSoItCompiles.setBorder(innerBorder);
                   mainPanel.add(justSoItCompiles);
              return mainPanel;
    }Thanks in advance

    You just make a Map as:
    Map<String, JPanel> panelMap = new HashMap<String, JPanel>();then add a panel as
    panelMap.add("Panel1", new JPanel());then you can do whatever with it by saying
    panelMap.get("Panel1").add(something);Make sense?

  • Is it possible to pass a string representing a class name in java as an arg

    Hi, this is probably a bit of a stupid question, but one that has me quite confused all the same!
    Is it possible to pass a string or class name etc. representing a type of class in java, to a method so that instead of having to redefine a method with say the following args:
    public SolarPanels[] bestPVPanels(int budget, int percent) {
            HashMap<Integer, SolarPanels> panelsMap    = new HashMap<Integer, SolarPanels>();
    }As at present needing to create a methods bestWindTurbine() and many others exactly the same, but for the type, I would instead like to be able to create a method like:
    public Object[] bestRenewable(int budget, int percent, String aClassName) {
            HashMap<Integer, aClassName > renewableMap    = new HashMap<Integer, aClassName >();
    }But cant sus how to do this as passing a String is off course going to cause problems unless its it possible to cast a string to a class name, any help or advance would be much appreciated.
    Thanks in advance
    Pat Nevin

    pNev wrote:
    But cant sus how to do this as passing a String is off course going to cause problems unless its it possible to cast a string to a class nameIt's not. You can do things like
    Class.forName(classNameInString);But that will only return a Class object.
    And as Java generics are erased at runtime, passing the class name to the method is useless as it is too late to use it anyways.
    Ah, Peter's way is what I was thinking of. Too early in the morning.
    Edited by: Kayaman on 23.6.2010 10:02

  • How to use string Variables for data provider names

    Really what I need to be able to do is insert the variable
    name in this:
    dataProvider="{chartXML2.lastResult.month.day}"
    I need to replace the "month" with a string variable name
    (i.e public var monthName = "January";)
    I also need to do the same for the categoryfield as it will
    not let me do categoryfield=$String.
    In PHP this is incredibly easy to do. You just say
    blah=$string . In fact, in PHP you can embed variable names
    everywhere. Its very powerful. For instance, in php, for the
    dataprovider issue above, i'd just do
    dataProvider="{chartXML2.lastResult.$StringName.day}"
    and it'd work just fine. Whats the syntax for doing this in
    Flex?

    You can use bracket notation. But don't. Use a reuslt handler
    to wrap the xmllist in an XMLListCollection instance variable and
    bind to that.
    Tracy

  • How to retrieve IndividualStrings from a txt file using String Tokenizer.

    hello can any one help me to retrieve the individual strings from a txt file using string tokenizer or some thing like that.
    the data in my txt file looks like this way.
    Data1;
    abc; cder; efu; frg;
    abc1; cder2; efu3; frg4;
    Data2
    sdfabc; sdfcder; hvhefu; fgfrg;
    uhfhabc; gffjcder; yugefu; hhfufrg;
    Data3
    val1; val2; val3; val4; val5; val6;
    val1; val2; val3; val4; val5; val6;
    val1; val2; val3; val4; val5; val6;
    val1; val2; val3; val4; val5; val6;
    i need to read the data as an individual strings and i need to pass those values to diffarent labels,the dat in Data3 i have to read those values and add to an table datamodel as 6 columns and rows depends on the data.
    i try to retrieve data using buffered reader and inputstream reader,but only the way i am retrieving data as an big string of entire line ,i tried with stringtokenizer but some how i was failed to retrive the data in a way i want,any help would be appreciated.
    Regards,

    Hmmm... looks like the file format isn't even very consistent... why the semicolon after Data1 but not after Data2 or Data3??
    Your algorithm is reading character-by-character, and most of the time it's easier to let a StringTokenizer or StreamTokenizer do the work of lexical analysis and let you focus on the parsing.
    I am also going to assume your format is very rigid. E.g. section Data1 will ALWAYS come before section Data2, which will come before section Data3, etc... and you might even make the assumption there can never be a Data4, 5, 6, etc... (this is why its nice to have some exact specification, like a grammar, so you know exactly what is and is not allowed.) I will also assume that the section names will always be the same, namely "DataX" where X is a decimal digit.
    I tend to like to use StreamTokenizer for this sort of thing, but the additional power and flexibility it gives comes at the price of a steeper learning curve (and it's a little buggy too). So I will ignore this class and focus on StringTokenizer.
    I would suggest something like this general framework:
    //make a BufferedReader up here...
    do
      String line = myBufferedReader.readLine();
      if (line!=null && line.trim().length()>0)
        line = line.trim();
        //do some processing on the line
    while (line!=null);So what processing to do inside the if statement?
    Well, you can recognize the DataX lines easily enough - just do something like a line.startsWith("Data") and check that the last char is a digit... you can even ignore the digit if you know the sections come in a certain order (simplifying assumptions can simplify the code).
    Once you figure out which section you're in, you can parse the succeeding lines appropriately. You might instantiate a StringTokenizer, i.e. StringTokenizer strtok = new StringTokenizer(line, ";, "); and then read out the tokens into some Collection, based on the section #. E.g.
    strtok = new StringTokenizer(line, ";, ");
    if (sectionNo==0)
      //read the tokens into the Labels1 collection
    else if (sectionNo==1)
      //read the tokens into the Labels2 collection
    else //sectionNo must be 2
      //create a new line in your table model and populate it with the token values...
    }I don't think the delimiters are necessary if you are using end-of-line's as delimiters (which is implicit in the fact that you are reading the text out line-by-line). So the original file format you listed looks fine (except you might want to get rid of that rogue semicolon).
    Good luck.

  • Use String Variable in New Object Creation

    Thanks to those who review and respond. I am new to Java, so please be patient with my terminoloy mistakes and fumblings. I am reading in a file and I want to create a new object based on specific field (car for example). As you will notice I grab field 8 here label sIID.
    String sIID = dts.group(8);
    BTW this regex grouping works fine. The problem is seen when I try to use the sIID variable in my new object creation process.
    DateParse sIID = new DateParse();
    My IDE is reporting "Variable sIID is already defined in the scope"
    Is this possible? The assumption is that the sIID will have different value during the processing of the file. For example, car could mean truck, sedan, etc with operators like color, number of doors, mileage, top speed, etc.

    Thanks for the reply. I have include similar and much shorter code for the sake of brevity.
    My problems are centered around the x variable/object below. Ideally this would translate to three objects PersonA, PersonB, etc that I could reference later in the code as PersonA.newname if I wanted to. Hopefully this makes sense.
    public class TestingObjects {
      public static void main(String[] argv) {
           String [] names;
           names = new String[3];
           names[0] = "PersonA";
           names[1] = "PersonB";
           names[2] = "PersonC";
           for (String x:names) {
             PN x = new PN();  // <- Problem
             x.name = x;
             x.SayName();
            System.out.println(x.newname);
    public class PN {
           String name;
           String newname;
      public String SayName() {
           newname = "Name = " + name;
           System.out.println(name);
          return newname;
    }

  • Using a CSV Parser class

    Ok so I've been wrestling with the issue of CLASSPATH and packages for the last week or so, and I'm truely, completely fed up. Maybe there's a kind soul to show me my mistake?
    Here's the code
    import java.io.*;
    import com.Ostermiller.util.*;
    public class Extractor {
         public static void main ( String args[] )
              // Create the printer
              ExcelCSVPrinter ecsvp = new ExcelCSVPrinter( System.out );
              // Write to the printer
              try {
                   ecsvp.writeln( new String[]{"hello","world"} );
              } catch (IOException iox){
                   System.out.println("IO error");
    } So, I'm importing the java packages and the Ostermiller utils. I simply create a ExcelCSVPrinter instance and I tell it to write out the string array Hello World.
    Now this compiles fines, using javac -cp c:\docume~1\britt\mydocu~1\ostermillerutils_1_04_03.jar Extractor.java
    But when it try to java Extractor, I get the classic "NoClassDefFound Extractor" error. Even, if I include the same classpath which works for compiling, it still is a no-go.
    I have the feeling this is a very basic mistake I'm making here, but I just can't see it.

    The files in the jar are inside a package. The correct (and only) way to address these files is to use the full name, i.e.,
    com/Ostermiller/util/Extract
    Here's some information about packages. This is a minimal explanation.
    Assume that your programs are part of a package named myapp, which is specified by this first line in each source file:
    package myapp;
    Also assume that directory (C:\java\work\) is listed in the CLASSPATH list of directories.
    Also assume that all your source files reside in this directory structure: C:\java\work\myapp\
    Then a statement to compile your source file named aProgram.java is:
    C:\java\work\>javac myapp\aProgram.java
    And a statement to run the program is:
    java myapp.aProgram
    (This can be issued from any directory, as Java will search for the program, starting the search from the classpath directories.)
    Explanation:
    Compiling
    A class is in a package if there is a package statement at the top of the class.
    The source file needs to be in a subdirectory structure. The subdirectory structure must match the package statement. The top subdirectory must be in the classpath directory.
    So, you generate a directory structure C:\java\work\myapp\ which is the [classpath directory + the package subdirectory structure], and place aProgram.java in it.
    Then from the classpath directory (C:\java\work\) use the command: javac myapp\aProgram.java
    Running
    Compiling creates a file, aProgram.class in the myapp directory.
    (The following is where people tend to get lost.)
    The correct name now, as far as java is concerned, is the combination of package name and class name: myapp.aProgram (note I omit the .class) If you don't use this name, java will complain that it can't find the class.
    To run a class that's NOT part of a package, you use the command: java SomeFile (assuming that SomeFile.class is in a directory that's listed in the classpath)
    To run a class that IS part of a package, you use the command java myapp.aProgram (Note that this is analogous to the command for a class not in a package, you just use the fully qualified name)

  • A cmr-field and a cmp-field on the bean are using the same name. The names

    Hi:
    I am using weblogic 8.1 and MyEclipse 5.1.1. I am deploying my ear application through MyEclipse 5.1.1 as an ear file.
    When I ran the following EJB QL:
    SELECT OBJECT(p) FROM Product p.category = ?1
    I get the following error:
    n relation Category-Product, a cmr-field and a cmp-field on the bean are using the same name. The names of cmr and cmp fields must be unique.
    It is basically complaining that I have a field
    <cmr-field>
                             <cmr-field-name>category</cmr-field-name>
                        </cmr-field>
    in my ejb-jar.xml and also the same category in the
    <cmp-field><field-name>category</field-name></cmp-field>
    field. The problem is that if I changed the value of the cmr-field, I have to add a get and set in my productLocal.java and when you do that you have to do the same in the ejb-jar.xml.
    Here is my ejb-jar.xml:
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC
    "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
    "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>CategoryEJB</ejb-name>
    <local-home>com.CategoryHomeLocal</local-home>
    <local>com.CategoryLocal</local>
    <ejb-class>com.CategoryBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Integer</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>Category</abstract-schema-name>
         <cmp-field><field-name>categoryId</field-name></cmp-field>
    <cmp-field><field-name>categoryName</field-name></cmp-field>
    <cmp-field><field-name>picture</field-name></cmp-field>
    <cmp-field><field-name>pictureWidth</field-name></cmp-field>
    <cmp-field><field-name>pictureHeight</field-name></cmp-field>
    <cmp-field><field-name>labelOn</field-name></cmp-field>
         <cmp-field><field-name>labelOff</field-name></cmp-field>
         <cmp-field><field-name>button</field-name></cmp-field>
    <primkey-field>categoryId</primkey-field>
    <security-identity><use-caller-identity/></security-identity>
              <query>
                   <query-method>
                        <method-name>findCategory</method-name>
                        <method-params></method-params>
                   </query-method>
                   <ejb-ql>
                        SELECT OBJECT(c) FROM Category c
                   </ejb-ql>
              </query>
         </entity>
         <entity>
    <ejb-name>ProductEJB</ejb-name>
    <local-home>com.ProductHomeLocal</local-home>
    <local>com.ProductLocal</local>
    <ejb-class>com.ProductBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Integer</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>Product</abstract-schema-name>
         <cmp-field><field-name>productId</field-name></cmp-field>
    <cmp-field><field-name>brandName</field-name></cmp-field>
    <cmp-field><field-name>productDescription</field-name></cmp-field>
    <cmp-field><field-name>purchasePrice</field-name></cmp-field>
    <cmp-field><field-name>category</field-name></cmp-field>
    <primkey-field>productId</primkey-field>
    <security-identity><use-caller-identity/></security-identity>
              <query>
                   <query-method>
                        <method-name>findProduct</method-name>
                        <method-params>
                        <method-param>com.CategoryLocal</method-param>
                        </method-params>
                   </query-method>
                   <ejb-ql>
                        SELECT OBJECT(p) FROM Product p.category = ?1
                   </ejb-ql>
              </query>
         </entity>
    </enterprise-beans>
    <relationships>
                   <ejb-relation>
                   <ejb-relation-name>Category-Product</ejb-relation-name>
                   <ejb-relationship-role>
                        <ejb-relationship-role-name>
                             Category-has-many-Product-numbers
                        </ejb-relationship-role-name>
                        <multiplicity>one</multiplicity>
                        <relationship-role-source>
                             <ejb-name>CategoryEJB</ejb-name>
                        </relationship-role-source>
                        <cmr-field>
                             <cmr-field-name>productNumbers</cmr-field-name>
                             <cmr-field-type>java.util.Collection</cmr-field-type>
                        </cmr-field>
                   </ejb-relationship-role>
                   <ejb-relationship-role>
                        <ejb-relationship-role-name>
                             Product-belongs-to-Category
                        </ejb-relationship-role-name>
                        <multiplicity>many</multiplicity>
                        <cascade-delete/>
                        <relationship-role-source>
                             <ejb-name>ProductEJB</ejb-name>
                        </relationship-role-source>
                        <cmr-field>
                             <cmr-field-name>category</cmr-field-name>
                        </cmr-field>
                   </ejb-relationship-role>
              </ejb-relation>
    </relationships>
    <assembly-descriptor>
    <security-role>
    <role-name>Employees</role-name>
    </security-role>
    <method-permission>
    <role-name>Employees</role-name>
    <method>
    <ejb-name>CategoryEJB</ejb-name>
    <method-name>*</method-name>
    </method>
    </method-permission>
    <container-transaction>
    <method>
    <ejb-name>CategoryEJB</ejb-name>
    <method-name>*</method-name>
    </method>
    <method>
    <ejb-name>ProductEJB</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>     
    Here is my weblogic-cmp-rdbms-jar.xml:
    <!DOCTYPE weblogic-rdbms-jar PUBLIC
    '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB RDBMS Persistence//EN'
    'http://www.bea.com/servers/wls810/dtd/weblogic-rdbms20-persistence-810.dtd'>
    <weblogic-rdbms-jar>
    <weblogic-rdbms-bean>
         <ejb-name>CategoryEJB</ejb-name>
    <data-source-name>ShoeStore</data-source-name>
         <table-map>
              <table-name>category</table-name>
              <field-map>
              <cmp-field>categoryId</cmp-field>
              <dbms-column>categoryID</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>categoryName</cmp-field>
              <dbms-column>categoryName</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>picture</cmp-field>
              <dbms-column>Picture</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>pictureWidth</cmp-field>
              <dbms-column>PictureWidth</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>pictureHeight</cmp-field>
              <dbms-column>PictureHeight</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>labelOn</cmp-field>
              <dbms-column>LabelOn</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>labelOff</cmp-field>
              <dbms-column>LabelOff</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>button</cmp-field>
              <dbms-column>Button</dbms-column>
              </field-map>
    </table-map>
    <automatic-key-generation>
    <generator-type>SQL_SERVER</generator-type>
    </automatic-key-generation>
    </weblogic-rdbms-bean>
    <weblogic-rdbms-bean>
         <ejb-name>ProductEJB</ejb-name>
    <data-source-name>ShoeStore</data-source-name>
         <table-map>
              <table-name>PRODUCT</table-name>
              <field-map>
              <cmp-field>productId</cmp-field>
              <dbms-column>productId</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>brandName</cmp-field>
              <dbms-column>brandName</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>productDescription</cmp-field>
              <dbms-column>productDescription</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>purchasePrice</cmp-field>
              <dbms-column>purchasePrice</dbms-column>
              </field-map>
              <field-map>
              <cmp-field>category</cmp-field>
              <dbms-column>categoryId</dbms-column>
              </field-map>
    </table-map>
         <!-- Automatically generate the value of ID in the database on inserts using sequence table -->
    <automatic-key-generation>
    <generator-type>SQL_SERVER</generator-type>
    </automatic-key-generation>
    </weblogic-rdbms-bean>
    <weblogic-rdbms-relation>
         <relation-name>Category-Product</relation-name>
    <weblogic-relationship-role>
    <relationship-role-name>Product-belongs-to-Category</relationship-role-name>
              <relationship-role-map>
    <column-map>
    <foreign-key-column>categoryId</foreign-key-column>
    <key-column>categoryID</key-column>
    </column-map>
              </relationship-role-map>
    </weblogic-relationship-role>
    </weblogic-rdbms-relation>
    </weblogic-rdbms-jar>
    Here is my productLocal.java:
    package com;
    import javax.ejb.CreateException;
    import javax.naming.NamingException;
    import java.util.Date;
    import java.util.Vector;
    import java.util.Collection;
    public interface ProductLocal extends javax.ejb.EJBLocalObject
         public Integer getProductId();
         public void setProductId(Integer productId);
         public String getBrandName();
         public void setBrandName(String brandName);
         public String getProductDescription();
         public void setProductDescription(String productDescription);
         public Double getPurchasePrice();
         public void setPurchasePrice(Double purchasePrice);
    public CategoryLocal getCategory();
         public void setCategory(CategoryLocal category);
    Here is my ProductBean.java:
    package com;
    import javax.naming.InitialContext;
    import javax.ejb.EntityContext;
    import javax.ejb.CreateException;
    import javax.naming.NamingException;
    import java.util.Date;
    import java.util.Collection;
    import java.util.Iterator;
    import java.util.Vector;
    import java.lang.Integer;
    public abstract class ProductBean implements javax.ejb.EntityBean
         public Integer ejbCreate(Integer id)
              this.setProductId(id);
              return null;
         public void ejbPostCreate(Integer id)
         //public abstract Integer getCategoryId();
    //     public abstract void setCategoryId(Integer categoryId);
         public abstract CategoryLocal getCategory();
         public abstract void setCategory(CategoryLocal category);
         public abstract Integer getProductId();
         public abstract void setProductId(Integer productId);
         public abstract String getBrandName();
         public abstract void setBrandName(String brandName);
         public abstract String getProductDescription();
         public abstract void setProductDescription(String productDescription);
         public abstract Double getPurchasePrice();
         public abstract void setPurchasePrice(Double purchasePrice);
         public void setEntityContext(EntityContext ec)
              System.out.println("ProductBean setEntityContext");
         public void unsetEntityContext()
              System.out.println("ProductBean unsetEntityContext");
         public void ejbLoad()
              System.out.println("ProductBean ejbLoad");
         public void ejbStore()
              System.out.println("ProductBean ejbStore");
         public void ejbActivate()
              System.out.println("ProductBean ejbActivate");
         public void ejbPassivate()
              System.out.println("ProductBean ejbPassivate");
         public void ejbRemove()
              System.out.println("ProductBean ejbRemove");
    What do I needed to do to fix this problem.
    Any hint or help would be greatly appreciated!!!
    Yours,
    Frustrated

    cmr field which is "category" in ur mapping , u can't use as cmp field in abstract schema mapping. just remove category from cmp field . and every thing is fine

  • How would I create an assembly of forms using only form names?

    I want to create an assembly of forms by passing only the names of the forms stored in the LC repository to the Assembly service. How would I do that? Is the assembly service the correct service to use in this case? Thank you.

    String classname = "Abc.class";
    Class class = Class.forName(classname); // catch ClassNotFoundException
    Object object = class.newInstance(); // catch InstantiationExceptiion
    MyIntrface myInterface = (MyInterface)object; // catch ClassCastException

  • Use methods of another class

    Dear Sir/madam,
    i have a question about using methods of another class. I will explane:
    i have made a class which is called A. This class has some attributes (studentName and examRank) and some methods.
    Now i need to made another class called B. Now i want to make an array where i can add some attributes of objects which i made of class A. How can i do that?
    Kind regards

    Here's a for-instance that doesn't use your exact program but demonstrates the point:
    public class A
      int value;
      String name;
      public A(int value, String name)
        this.name = name;
        this.value = value;
      public int getValue()
        return value;
      public String getName()
        return name;
      public String toString()
        return name + ": " + value;
    import java.util.Arrays;
    import java.util.Random;
    public class B
      private static final String[] NAMES =
        "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
      private static final int MAX = 100;
      private A[] myAs = new A[NAMES.length];
      private Random random = new Random();
      public B()
        for (int i = 0; i < myAs.length; i++)
          myAs[i] = new A(random.nextInt(MAX), NAMES);
    public String toString()
    return Arrays.toString(myAs);
    public int getTotal()
    int temp = 0;
    for (int i = 0; i < myAs.length; i++)
    temp += myAs[i].getValue();
    return temp;
    public static void main(String[] args)
    B b = new B();
    System.out.println(b);
    System.out.println("Total: " + b.getTotal());

  • Limiting the parameter used in constructing a class

    I would like to create a Class, where the name parameter used when constructing the Class can only be 1 of 5 different names. I was thinking about saving these "usable" names as final Strings in some interface that all my classes implement. I was wondering if there was an easy way of doing this, since I know there are Java Classes that have this feature...or do they just use brute force, testing the inputted String against what is legitimate with a for loop or something?

    I would like to add one more thing, and perhaps somebody knows the answer.
    In the Java Swing classes, the setDefaultCloseOperation(int) method of a JFrame asks for an (int) parameter. If you enter 10, the program will compile, but when you execute it it will throw an exception. So obviously if I wanted to mimic this way of writing a program I would make ChessPiece(String) and not ChessPiece(AllowableName), so that the program compiles. But then what do I do to make it throw an exception for not being an AllowableName and just any old String. My curiosity is killing me. It just seems that for my program I have to write
    class ChessPiece(AllowableName)
    {}for me to use the
    ChessPiece Rook = new ChessPiece(AllowableName.Rook);format.
    but if I did that
    ChessPiece Rook = new ChessPiece("Rook");wouldn't even compile, and if it was truly like the Swing API, it should.

  • Using strings as objects

    hi.
    i get user input of type string but if the string is the same as the name of an object is there any way of using the methods within that object.
    for example
    class Object{
    String name, description;
    Object(String nameIn, String descriptionIn){
    name=nameIn;
    description=descriptionIn;
    void showDescription(){
    System.out.println(description);
    when i create a new object
    Object brick = new Object("brick", "it's hard");
    and i get user input of type String
    "brick"
    how would i get
    brick.showDescription();
    i didn't think this was possible so i created an array of Objects
    Object objectHolder = new Object[10];
    but i couldn't figure out how to add the Object to the array when it was being created.
    class Object{
    String name, description;
    static Object objectHolder = new Object[10];
    int store=0;
    Object(String nameIn, String descriptionIn){
    name=nameIn;
    description=descriptionIn;
    objectHolder[store] = Object // this doesn't work, i want it to be
    // the Object that is being created
    store = store + 1;
    then i can compare the String to each Object.name in the array to find the Object, and then get the Object.showDescription
    what do you think?
    also i would like to know how to add the object to the array as it is being created even if you think it is not a good way of doing it.
    thanks

    First off, never ever name your objects "Object", since that is very, very confusing. The reason for this is because ALL objects are derived from java.lang.Object, and the less ambiguity with that name the better.
    Now, let's look at your object. We'll call it "DungeonObject" for lack of a better name.
    The "objectHolder" should probably not actually be inside of DungeonObject. Instead, make it external to your object.
    Let's assume you have a container object called "Dungeon" which makes use of DungeonObjects.
    You could write the following for Dungeon:
    public class Dungeon {
      DungeonObject[] objectHolder;
      int nIndex;
      public Dungeon(int nObjectSize) {  // constructor
        objectHolder = new DungeonObject[nObjectSize];
        nIndex = 0;
      private boolean addObject(DungeonObject obj) {
        if (nIndex < objectHolder.length) {
          objectHolder[nIndex++] = obj;
          return true;
        return false;
      public boolean createObject(String name, String desc) {
        return addObject(new DungeonObject(name, desc));
    }When you want to create an object, use createObject.
    The DungeonObject it references could be defined as:
    public class DungeonObject {
      String m_name;
      String m_description;
      public DungeonObject(String name, String description) {
        m_name = name;
        m_description = description;
      // add gets and sets as described in previous post

  • What should I use as parameter name in call.addParameter in WS DII client

    I'm using dynamic invocation interface to call a web service in Oracle OC4J.
    The part of WSDL "Types" is:
    <element name="myType" type="tns:myType" />
       <complexType name="myType">
         <sequence>
           <element name="sss" nillable="true" type="string" />
         </sequence>
      </complexType>
    ...My J2SE client has following code I belive create problem:
    call.addParameter("sss", input,MyType.class, ParameterMode.IN);when I invoke the web service, I got error:
    javax.xml.rpc.soap.SOAPFaultException: caught exception while handling request: unexpected element name: expected={http://mypackage/B2BGateway/types}myType, actual=sss
    I changed my code according to this message as it expected to be:
    call.addParameter("{http://mypackage/types}myType",
         input,MyType.class, ParameterMode.IN);I got :
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Error parsing envelope: (2, 179) Expected name instead of {.
    seems the "{" should not be part of parameter name.
    Then, what should I use as parameter name.
    BTW, the web service server side code should works fine as I can test it with others client.
    Thanks

    Moved one step further:
    I changed abit to code:
    call.addParameter("myType", input,MyType.class, ParameterMode.IN);I can see the server side got SOAP request:
       <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
          <env:Body>
             <myType>
                <ans1:sss xmlns:ans1="http://mypackage/types/">abc</ans1:sss>
             </myType>
          </env:Body>
       </env:Envelope>As you can see, the problem in the generated request is "myType" does not have namespace
    Could someone tell me how to fix it.
    Thanks
    Edited by: John618 on Feb 21, 2009 5:03 PM

Maybe you are looking for

  • The old folder and exclamation point

    I have read all of the posts about this problem and still nothing works. A friend of mine gave me his ipod because of this problem. He downloaded the music in windows so the is the first discrepancy. I also have no install disk to go with this. I am

  • Aperture 2 Preferences

    I recall generating previews in AP 1.5.6 to display images in iLife apps. Now that there is the option in preferences to check the "Display images in iLife and iWork" option, why would we need the checkbox for "Generate Previews"? What would be the r

  • Procedure Error, Urgent please help ?!

    I have create a program unit in dev 6.0, this program run with trigger WHEN-NEW-FORM-INSTANCE. My table is KODE KET 10 TEST1 20 TEST2 30 TEST3 My procedure is Declare vkode number(2); vket varchar2(14); CURSOR TEST_cur IS SELECT Kode, Ket FROM PUSAT.

  • Add multiple smart object images to PS CC? (Win7)

    I'd like to be able to load quickly several layers of the same image (all as smart objects) to blend exposures. A recent J. Kost blog entry demonstrates opening such layers directly from Lightroom but she discovers from reader feedback that Adobe nev

  • Menu Bar not behaving in IE6

    Can someone help me understand why my menu bar is not showing the background image completely in ie6? It works fine in FF2 and mostly okay in ie7. Look at this page http://time2crop.com/newstf/join/ourstory.php and you will notice the top graphic of