Is it possible to persist an enumerated object as a string

I created a java object for an enumerated type (greatly simplified for this
discussion):
public class Role implements java.io.Serializable {
public Role() {
private Role(String role) {
this.role = role;
public String toString() {
return role;
public String getRole() {
return role;
private String role;
public static final Role GUEST = new Role("GUEST");
public static final Role REGISTERED_USER = new Role("REGISTERED_USER");
public static final Role TRIAL_USER = new Role("TRIAL_USER");
The problem is it's persisted as a first class entity. That means in the
CustomerType table I get hundreds of them, one for each relation. The
solution for that is to use JDO to get an existing CustomerType from the
datastore as use it for assignments instead of just using the class itself.
But I'm curious, are there extensions that would allow me to map
CustomerType to a string column in a table? For example, a Customer has a
CustomerType. Can CustomerType map to a string column in the Customer
table? Is this possible? I think this would be really cool, because then I
can say:
Customer c = new Customer();
c.setCustomerType(CustomerType.GUEST);
without having to retrieve the CustomerType.GUEST from the datastore.
Michael

Michael-
Also note that Kodo 2.5.0 introduces a StirngifiedMapping, which enables
simple persisting of things like enumerations (and anything else that
can be round-tripped via stringification).
Take a look at samples/scoStringification/ in the 2.5.0 release.
In article <[email protected]>, Michael Mattox wrote:
I found a solution to this, although from a different approach. Earlier I
said a Customer has a CustomerType. I changed that relation to say a
Customer has a String called customerType. Then I changed the
getter/setters to use the CustomerType. This gives me the advantage of
using an enumerated type with the ability to store a simple String in the
database.
So far this approach is working well. If you have any comments let me know.
Michael
"Michael Mattox" <[email protected]> wrote in message
news:[email protected]...
I created a java object for an enumerated type (greatly simplified forthis
discussion):
public class Role implements java.io.Serializable {
public Role() {
private Role(String role) {
this.role = role;
public String toString() {
return role;
public String getRole() {
return role;
private String role;
public static final Role GUEST = new Role("GUEST");
public static final Role REGISTERED_USER = new Role("REGISTERED_USER");
public static final Role TRIAL_USER = new Role("TRIAL_USER");
The problem is it's persisted as a first class entity. That means in the
CustomerType table I get hundreds of them, one for each relation. The
solution for that is to use JDO to get an existing CustomerType from the
datastore as use it for assignments instead of just using the classitself.
But I'm curious, are there extensions that would allow me to map
CustomerType to a string column in a table? For example, a Customer has a
CustomerType. Can CustomerType map to a string column in the Customer
table? Is this possible? I think this would be really cool, because thenI
can say:
Customer c = new Customer();
c.setCustomerType(CustomerType.GUEST);
without having to retrieve the CustomerType.GUEST from the datastore.
Michael
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com

Similar Messages

  • Is it possible the query in view object is dynamic?

    Is it possible the query in view object is dynamic?
    Generally, make the column list dynamic.
    I think this is related to whether view object can be assembled at runtime based on a dynamic cursor in a procedure?
    I ask this because I would like to know how we can use OA framework to simulate crosstab workbook in Discoverer?
    Anybody has some clues, please advise.
    Thanks.

    Hi Shay,
    Let me tell you briefly... I am sending input as customerId,customerNumber,CustomerName to the web service, if the record is available i am getting the response and i am displaying those records on page as a table. Now when i click a row i need to populate another table with all sale orders of that customer. From webservice datacontrol i have only customer object, I dont have Sales Order Object. For this i need master detail relation. In this case how to proceed. Thats why i am thinking to create a vO and EO object for sales orders table and i want to create view link for this sales order and customers. As i don't have customer VO and EO object to create view link.

  • How can I use XStream to persist complicated Java Object  to XML & backward

    Dear Sir:
    I met a problem as demo in my code below when i use XTream to persist my Java Object;
    How can I use XStream to persist complicated Java Object to XML & backward??
    See
    [1] main code
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import com.thoughtworks.xstream.XStream;
    import com.thoughtworks.xstream.io.xml.DomDriver;
    public class PhoneList {
         ArrayList<PhoneNumber> phones;
         ArrayList<Person> person;
         private PhoneList myphonelist ;
         private LocationTest location;
         private PhoneList(String name) {
         phones = new ArrayList<PhoneNumber>();
         person = new ArrayList<Person>();
         public ArrayList<PhoneNumber> getphones() {
              return phones;
         public ArrayList<Person> getperson() {
              return person;
         public void addPhoneNumber(PhoneNumber b1) {
              this.phones.add(b1);
         public void removePhoneNumber(PhoneNumber b1) {
              this.phones.remove(b1);
         public void addPerson(Person p1) {
              this.person.add(p1);
         public void removePerson(Person p1) {
              this.person.remove(p1);
         public void BuildList(){
              location = new LocationTest();
              XStream xstream = new XStream();
              myphonelist = new PhoneList("PhoneList");
              Person joe = new Person("Joe, Wallace");
              joe.setPhone(new PhoneNumber(123, "1234-456"));
              joe.setFax(new PhoneNumber(123, "9999-999"));
              Person geo= new Person("George Nixson");
              geo.setPhone(new PhoneNumber(925, "228-9999"));
              geo.getPhone().setLocationTest(location);          
              myphonelist.addPerson(joe);
              myphonelist.addPerson(geo);
         public PhoneList(){
              XStream xstream = new XStream();
              BuildList();
              saveStringToFile("C:\\temp\\test\\PhoneList.xml",convertToXML(myphonelist));
         public void saveStringToFile(String fileName, String saveString) {
              BufferedWriter bw = null;
              try {
                   bw = new BufferedWriter(
                             new FileWriter(fileName));
                   try {
                        bw.write(saveString);
                   finally {
                        bw.close();
              catch (IOException ex) {
                   ex.printStackTrace();
              //return saved;
         public String getStringFromFile(String fileName) {
              BufferedReader br = null;
              StringBuilder sb = new StringBuilder();
              try {
                   br = new BufferedReader(
                             new FileReader(fileName));
                   try {
                        String s;
                        while ((s = br.readLine()) != null) {
                             // add linefeed (\n) back since stripped by readline()
                             sb.append(s + "\n");
                   finally {
                        br.close();
              catch (Exception ex) {
                   ex.printStackTrace();
              return sb.toString();
         public  String convertToXML(PhoneList phonelist) {
              XStream xstream = new  XStream(new DomDriver());
              xstream.setMode(xstream.ID_REFERENCES) ;
              return xstream.toXML(phonelist);
         public static void main(String[] args) {
              new PhoneList();
    }[2].
    import java.io.Serializable;
    import javax.swing.JFrame;
    public class PhoneNumber implements Serializable{
           private      String      phone;
           private      String      fax;
           private      int      code;
           private      String      number;
           private      String      address;
           private      String      school;
           private      LocationTest      location;
           public PhoneNumber(int i, String str) {
                setCode(i);
                setNumber(str);
                address = "4256, Washington DC, USA";
                school = "Washington State University";
         public Object getPerson() {
              return null;
         public void setPhone(String phone) {
              this.phone = phone;
         public String getPhone() {
              return phone;
         public void setFax(String fax) {
              this.fax = fax;
         public String getFax() {
              return fax;
         public void setCode(int code) {
              this.code = code;
         public int getCode() {
              return code;
         public void setNumber(String number) {
              this.number = number;
         public String getNumber() {
              return number;
         public void setLocationTest(LocationTest bd) {
              this.location = bd;
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.getContentPane().add(location);
            f.getContentPane().add(location.getControls(), "Last");
            f.setSize(400,400);
            f.setLocation(200,200);
            f.setVisible(true);
         public LocationTest getLocationTest() {
              return location;
         }[3].
    package test.temp;
    import java.io.Serializable;
    public class Person implements Serializable{
         private String           fullname;
           @SuppressWarnings("unused")
         private PhoneNumber      phone;
           @SuppressWarnings("unused")
         private PhoneNumber      fax;
         public Person(){
         public Person(String fname){
                fullname=fname;           
         public void setPhone(PhoneNumber phoneNumber) {
              phone = phoneNumber;
         public void setFax(PhoneNumber phoneNumber) {
              fax = phoneNumber;
         public PhoneNumber getPhone() {
              return phone ;
         public PhoneNumber getFax() {
              return fax;
        public String getName() {
            return fullname ;
        public void setName(String name) {
            this.fullname      = name;
        public String toString() {
            return getName();
    }[4]. LocationTest.java
    package test.temp;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class LocationTest extends JPanel implements ChangeListener
        Ellipse2D.Double ball;
        Line2D.Double    line;
        JSlider          translate;
        double           lastTheta = 0;
        public void stateChanged(ChangeEvent e)
            JSlider slider = (JSlider)e.getSource();
            String name = slider.getName();
            int value = slider.getValue();
            if(name.equals("rotation"))
                tilt(Math.toRadians(value));
            else if(name.equals("translate"))
                moveBall(value);
            repaint();
        protected void paintComponent(Graphics g)
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
            if(ball == null)
                initGeom();
            g2.setPaint(Color.green.darker());
            g2.draw(line);
            g2.setPaint(Color.red);
            g2.fill(ball);
        private void initGeom()
            int w = getWidth();
            int h = getHeight();
            int DIA = 30;
            int padFromEnd = 5;
            line = new Line2D.Double(w/4, h*15/16, w*3/4, h*15/16);
            double x = line.x2 - padFromEnd - DIA;
            double y = line.y2 - DIA;
            ball = new Ellipse2D.Double(x, y, DIA, DIA);
            // update translate slider values
            int max = (int)line.getP1().distance(line.getP2());
            translate.setMaximum(max);
            translate.setValue(max-padFromEnd);
        private void tilt(double theta)
            // rotate line from left end
            Point2D pivot = line.getP1();
            double lineLength = pivot.distance(line.getP2());
            Point2D.Double p2 = new Point2D.Double();
            p2.x = pivot.getX() + lineLength*Math.cos(theta);
            p2.y = pivot.getY() + lineLength*Math.sin(theta);
            line.setLine(pivot, p2);
            // find angle from pivot to ball center relative to line
            // ie, ball center -> pivot -> line end
            double cx = ball.getCenterX();
            double cy = ball.getCenterY();
            double pivotToCenter = pivot.distance(cx, cy);
            // angle of ball to horizon
            double dy = cy - pivot.getY();
            double dx = cx - pivot.getX();
            // relative angle phi = ball_to_horizon - last line_to_horizon
            double phi = Math.atan2(dy, dx) - lastTheta;
            // rotate ball from pivot
            double x = pivot.getX() + pivotToCenter*Math.cos(theta+phi);
            double y = pivot.getY() + pivotToCenter*Math.sin(theta+phi);
            ball.setFrameFromCenter(x, y, x+ball.width/2, y+ball.height/2);
            lastTheta = theta;  // save theta for next time
        private void moveBall(int distance)
            Point2D pivot = line.getP1();
            // ball touches line at distance from pivot
            double contactX = pivot.getX() + distance*Math.cos(lastTheta);
            double contactY = pivot.getY() + distance*Math.sin(lastTheta);
            // find new center location of ball
            // angle lambda = lastTheta - 90 degrees (anti-clockwise)
            double lambda = lastTheta - Math.PI/2;
            double x = contactX + (ball.width/2)*Math.cos(lambda);
            double y = contactY + (ball.height/2)*Math.sin(lambda);
            ball.setFrameFromCenter(x, y, x+ball.width/2, y+ball.height/2);
        JPanel getControls()
            JSlider rotate = getSlider("rotation angle", "rotation", -90, 0, 0, 5, 15);
            translate = getSlider("distance from end",  "translate", 0, 100, 100,25, 50);
            JPanel panel = new JPanel(new GridLayout(0,1));
            panel.add(rotate);
            panel.add(translate);
            return panel;
        private JSlider getSlider(String title, String name, int min, int max,
                                  int value, int minorSpace, int majorSpace)
            JSlider slider = new JSlider(JSlider.HORIZONTAL, min, max, value);
            slider.setBorder(BorderFactory.createTitledBorder(title));
            slider.setName(name);
            slider.setPaintTicks(true);
            slider.setMinorTickSpacing(minorSpace);
            slider.setMajorTickSpacing(majorSpace);
            slider.setPaintLabels(true);
            slider.addChangeListener(this);
            return slider;
    }OK, My questions are:
    [1]. what I generated XML by XSTream is very complicated, especially for object LocationTest, Can we make it as simple as others such as Person object??
    [2]. after I run it, LocationTest will popup and a red ball in a panel will dsiplay, after I change red ball's position, I hope to persist it to xml, then when I read it back, I hope to get same picture, ie, red ball stiil in old position, How to do that??
    Thanks a lot!!

    Positive feedback? Then please take this in a positive way: if you want to work on persisting Java objects into XML, then GUI programming is irrelevant to that goal. The 1,000 lines of code you posted there appeared to me to have a whole lot of GUI code in it. You should produce a smaller (much smaller) example of what you want to do. Calling the working code from your GUI program should come later.

  • Problems persisting the collection object in Web dynpro context

    Hello,
    I am trying to bind a Instance of hashtable (java.util.Hashtable) in the context.
    I instantiate a hashtable and bind it to the context for the first time, when i fetch it, it returns null. Is it possible to store a collection object in the context ??
    I am a newbie with Web dynpro - java. Sorry if it is a repeated question.
    Awaiting the suggestions.
    Thanks in advance,
    Harish
    Edited by: Harish Medehal on Dec 19, 2007 1:58 PM

    Hi Harish,
                  Welcome to SDN.  Yes, it is  possible to bind a collection object in the context.
    wdContext.node<DataNode>().bind(COLLECTION);
    regards,
    Siva

  • Is it possible to create a Report Object in a menu?

    Hi all,
    I 'm working on an oracle report wherein the user will not give any parameter.
    They would like to view the report by clicking on the menu option for this report and it should then open the report in an new browser window
    in pdf format.
    My question:
    Is it possible to create a report object in the menu?how can we do this?
    I'm working on Oracle reports version Report Builder 10.1.2.0.2
    TIA

    Thanks for your prompt reply.
    Through form I'm able to create report object and report is displayed successfully.
    I'm using the following code:
    DECLARE
              report_id Report_Object;
              ReportServerJob VARCHAR2(100);
              rep_status VARCHAR2(50);
    BEGIN
              report_id:= find_report_object('Report1');
              SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'vouno='||:vouno||' paramform=no');
              ReportServerJob:=run_report_object(report_id);
              rep_status:=REPORT_OBJECT_STATUS(ReportServerJob);
              WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
              LOOP
                        rep_status := report_object_status(ReportServerJob);
              END LOOP;
              IF rep_status = 'FINISHED' THEN
              WEB.SHOW_DOCUMENT('http://sushma:8889/reports/rwservlet/getjobid'||
              substr(ReportServerJob,instr(ReportServerJob,'_',-1)+1)||'?'||'server=rep_sushma','_blank');
              ELSE
                        message('Error when running report');
              END IF;
    END;
    I'm not able to use the same code in Menu, as there is no way to create report object "Report1"
    Or is there any was to create object.
    So in place of report_id:= find_report_object('Report1');
    I used report_id:= find_report_object('c:\.... *.RDF');

  • Is it possible to create a rotating object in Muse?

    Is it possible to create a rotating object in Muse? I have a round logo and I want it rotating.

    HI
    If you are looking for an animated logo, which rotates in 360 degree, it is not possible in Muse. You can create an animation in Edge animate and import the animation in Adobe muse.,

  • Is it possible to  add multiples dimension objects in Webi Ranking ?

    As per the project requirement we need to convert custom sqls to reporting sql in webi 3.1 sp5 .
    Is it possible to  add multiple dimension objects while applying ranking (Webi query panel ).
    Or is there any other way to achieve this feature in BO ?
    Regards,
    Pranay

    Hi ,
    There is a way if you want to apply ranking within a ranking . Below are the steps:
    First on the outer side we can use the Rank feature which is available directly
    Then use the Rank Function (=rank ()) and reset your dimension accordingly .
    This kind of Ranking is possible.
    Regards,
    Rahul

  • Is it possible to export full PCD object list along with their PCD ID?

    Hi
    Is it possible to export full PCD object list along with their PCD ID to an excel sheet or txt file?
    Any help will be appreciated.
    Regards
    Vineet

    Hi,
    I have provided a simple method below to Get all the PCD objects PCD  ID.
    1. Create a transport package.
    2. Add all the PCD objects for which ever you need the PCD ID.
    3. Now release the Transport package as the "File system" mode.
    4. Once it is done successfully, it will display all the transported object and its corresponding PCD ID in a table format.
    You can simply copy and paste it in a excel to get the PCD ID for the PCD objects.
    Hope this is helpful.
    Thanks,
    Mahendran B.

  • Possible to create an object from a String?

    Hi,
    is is somehow at all possible to create an object from a String ?
    If we have etc.
    String txt = "Carrot()";
    Is it then possible to somehow cast that String and interpret it as a class type that it should make an object of ?
    Like
    new txt; - would then give me the same as new Carrot(); ?
    Hope you understand what i mean.
    Martin From... :-)

    Class.forName("some.package.Carrot");

  • Looping thru enumeration objects

    How to loop thru the enumeration objects?? Thanks.

    If you are using JAVA 5.0 enum, here is an example:
    public class Example
        public enum Season { WINTER, SPRING, SUMMER, FALL }
        public static void main(String[] args)
            for (Season s : Season.values())
                System.out.println(s);
    }

  • Enumeration Objects + Tomcat 4

    Hi
    I was wondering if anyone can help. I am new to JSP and have recently installed Tomcat 4.
    In a JSP file, I had the following code:
    <% Enumeration parameters = request.getParameterNames();
    while(parameters.hasMoreElements()){
    String parameterName = (String)parameters.nextElement();
    String parameterValue = request.getParameter(parameterName); %>
    <TR>
    <TD><%=parameterName%></TD>
    <TD><%=parameterValue%></TD>
    </TR>
    <% } %>
    But everytime I try to run the jsp file, I get the following error:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occured between lines: 47 and 50 in the jsp file: /yasdev/dynamicForm.jsp
    Generated servlet error:
    C:\tomcat\work\localhost\examples\yasdev\dynamicForm$jsp.java:154: Class org.apache.jsp.Enumeration not found.
    Enumeration parameters = request.getParameterNames();
    ^
    1 error
         at org.apache.jasper.compiler.Compiler.compile(Unknown Source)
         at org.apache.jasper.servlet.JspServlet.loadJSP(Unknown Source)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(Unknown Source)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(Unknown Source)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown Source)
         at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
         at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
         at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.valves.AccessLogValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown Source)
         at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
         at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
         at org.apache.catalina.connector.http.HttpProcessor.process(Unknown Source)
         at org.apache.catalina.connector.http.HttpProcessor.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:484)
    Can anyone help? Why is there an error with the Enumeration Object??
    Thank You
    Yaz

    Enumeration is part of the java.util package. You must import it or specify it fully as java.util.Enumeration.

  • Can you create an object from a string

    I have been working on creating a dynamic form, creating the
    form items from an xml file. I am getting very close to conquering
    this task. I will share it when it's complete.
    However, I am stuck at the moment trying to create an object
    from a string. For example, if the xml item is an HBox I want to
    create an HBox. Like this: parentObject = new arrayOfFormItems[
    index ]..type ()
    This isn't working. First, is this possible using some syntax
    I am unaware of in Flex? I don't want to use a large if or case
    statement if possible.
    Thanks in advance for your help!

    Thank you very much. Indeed that did solve the one problem. I
    missed the casting as a Display Object. That is awesome!
    I do still however, have to instantiate one of every item I
    want to dynamically create or I get the following error when I try
    to create a dynamic object that I have not instantiated before.
    ReferenceError: Error #1065: Variable HBox is not defined.
    at global/flash.utils::getDefinitionByName()
    at MyForm/buildForm()
    at DynamicForm/::onComplete()
    at
    flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/flash.net:URLLoader::onComplete()
    I read that you have no choice but to instantiate one of each
    type to force the linker to link the code for that class into the
    .swf. Unless you know another way to force it.
    This is what I have in my Application mxml to get it to work:
    <mx:HBox>
    <mx:Text visible="false"/>
    <mx:TextArea visible="false"/>
    <mx:TextInput visible="false"/>
    <mx:DateField visible="false"/>
    </mx:HBox>
    And those are the types I'm using to test with. . . I will
    have to add all the others I want to use as well . . .

  • How do i convert an object into a string?

    has said above, im trying to convert a object to a string.
    here is what i ahve so far:
    Object nodeInfo = node.getUserObject()

    RTFM
    Object o =...
    String str = o.toString();

  • Setting the name of a new object from a string

    Is there anyway I can set the object name of a newly created
    object from a string?
    eg.
    (the code below generates a compile time error on the
    variable declaration)
    public function addText(newTxt:String, txt:String,
    format:TextFormat):void {
    var
    this[newTxt]:TextField = new TextField();
    this[newTxt].autoSize = TextFieldAutoSize.LEFT;
    this[newTxt].background = true;
    this[newTxt].border = true;
    this[newTxt].defaultTextFormat = format;
    this[newTxt].text = txt;
    addChild(this[newTxt]);
    called using>
    addText("mytxt", "test text", format);
    I could then reference the object later on without using
    array notation using mytxt.border = false; for example
    There are many a time when I want to set the name of a new
    object from a string.
    In this example I have a function that adds a new text object
    to a sprite.
    The problem is, if I call the function more than once then
    two textfield objects will exist, both with the same name. (either
    that or the old one will be overwritten).
    I need a way of setting the name of the textfield object from
    a string.
    using
    var this[newTxt]:TextField = new TextField()
    does not work, If I take the "var" keyword away it thinks it
    a property of the class not an object.
    resulting in >
    ReferenceError: Error #1056: Cannot create property newTxt on
    Box.
    There must be a way somehow to declare a variable that has
    the name that it will take represented in a string.
    Any help would be most welcome
    Thanks

    Using:
    var this[newTxt]:TextField = new TextField()
    is the right approach.
    You can either incrment an instance variable so that the name
    is unique:
    newTxt = "MyName" + _globalCounter;
    var this[newTxt]:TextField = new TextField();
    globalCounter ++;
    Or store the references in an array:
    _globalArray.push(new TextField());
    Tracy

  • Object creation of string

    Hello
    Please tell me what is the difference between these two object creation of string.
    String str = new String("Hello");.
    String str="Hello";
    Thanks.

    RGEO wrote:
    hello,
    Is the string pool is part of a heap? Huh? I suppose yes, you could regard the String pool as part of the heap... but (I guess) that interned String objects would be placed directly into the permanent generation, which is not garbage collected... and therefore I don't really think of the permanent generation as part of the heap (except when tuning heap allocations)... but I think I'm talking over your noob head here, yes... and so to the noob-stuff.
    If you get bored you might like to scan (for now) http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#generations ... and come back to it in a couple of years time (when every second word isn't new and baffling to you;-)
    jvm what will do when he encounter the following code,
    String s1 = new String ("hello");The VM will:
    1. Create a new String object, and then
    2. copy the characters 'h','e','l','l','o' from the interned String "hello" to the new String,
    3. and then assign a reference to the new String to variable s1.
    Note that the result is subtley different from String s1 = "hello", which just does step 3... it assigns a reference to the existing interned String object "hello" to the variable s1... it does not create and "populate" a new String object.
    Try this just for fun... what is the output of the following program? Why?
    package forums;
    public class StringEquals
      public static void main(String[] args) {
        try {
          String a = "Hello";
          String b = "Hello";
          System.out.println("a==b is "+(a==b));
          String c = new String("Hello");
          System.out.println("a==c is "+(a==c));
        } catch (Exception e) {
          e.printStackTrace();
    }Now, what's the correct way to evaluate equality of String objects in Java?
    HTH. Cheers. Keith.

Maybe you are looking for