Using different constructors

Hello all,
I have a class that can be instantiated with 2 different constructors, like this :
public class LProject {
private List projects;
public LProject(String path, String name) {
super(path, name);
projects = new ArrayList();
public LProject(String path, String name, String description) {
super(path, name, description);
}My question concerns the initialization of the ArrayList, if i first create an object with LProject(path, name) the ArrayList will be initialize, and the then if i create a second object with LProject(path, name, description), the ArrayList would still be usable or it would be null?
Do i have to initialize the ArrayList in both constructor? In this case it would give me two differents ArrayList so if i add the LProject object created before it will be in two different ArrayList?
It is not clear for me can somebody help me clear that out.
thanks a lot

I don't think that is thread safe.
If I was you I would do
private static List projects = new LinkedList();
Actually, that is not thread safe. But your example is not thread safe, either.
@OP: if you want to use this static list, do this:
private static List projects = Collections.synchronizedList(new ArrayList());But synchronization is not really necessary, if you keep this field as private and if you will not provide any kind of getter method that can return this list field (you can't guarantee what the other programmers will do with your list). If you decide to not use synchronization, you must guarantee that the manipulation of this list will only occur inside this class, where you can yourself control the access of this list. And you can achieve this control only by making this list totally unavailable to the others.
If you are expert in synchronization, then you can use a unsynchronized list, doing the control of the manipulation of this list by your own code inside your class. Otherwise, if you don't know very much about synchronization, although the cost of performance when synchronization is being used (not so much, but there is a cost), it is always safer using a synchronized list.

Similar Messages

  • Senarious for using different internal table types

    please give scenarios for  using different internal table types?

    Refer to the following.
    Internal table types
    This section describes how to define internal tables locally in a program. You can also define internal tables globally as data types in the ABAP Dictionary.
    Like all local data types in programs , you define internal tables using the TYPES statement. If you do not refer to an existing table type using the TYPE or LIKE addition, you can use the TYPES statement to construct a new local internal table in your program.
    TYPES <t> TYPE|LIKE <tabkind> OF <linetype> [WITH <key>]
    [INITIAL SIZE <n>].
    After TYPE or LIKE, there is no reference to an existing data type. Instead, the type constructor occurs:
    <tabkind> OF <linetype> [WITH <key>]
    The type constructor defines the table type <tabkind>, the line type <linetype>, and the key <key> of the internal table <t>.
    You can, if you wish, allocate an initial amount of memory to the internal table using the INITIAL SIZE addition.
    Table type
    You can specify the table type <tabkind> as follows:
    Generic table types
    INDEX TABLE
    For creating a generic table type with index access.
    ANY TABLE
    For creating a fully-generic table type.
    Data types defined using generic types can currently only be used for field symbols and for interface parameters in procedures . The generic type INDEX TABLE includes standard tables and sorted tables. These are the two table types for which index access is allowed. You cannot pass hashed tables to field symbols or interface parameters defined in this way. The generic type ANY TABLE can represent any table. You can pass tables of all three types to field symbols and interface parameters defined in this way. However, these field symbols and parameters will then only allow operations that are possible for all tables, that is, index operations are not allowed.
    Fully-Specified Table Types
    STANDARD TABLE or TABLE
    For creating standard tables.
    SORTED TABLE
    For creating sorted tables.
    HASHED TABLE
    For creating hashed tables.
    Fully-specified table types determine how the system will access the entries in the table in key operations. It uses a linear search for standard tables, a binary search for sorted tables, and a search using a hash algorithm for hashed tables.
    Line type
    For the line type <linetype>, you can specify:
    Any data type if you are using the TYPE addition. This can be a predefined ABAP type, a local type in the program, or a data type from the ABAP Dictionary. If you specify any of the generic elementary types C, N, P, or X, any attributes that you fail to specify (field length, number of decimal places) are automatically filled with the default values. You cannot specify any other generic types.
    Any data object recognized within the program at that point if you are using the LIKE addition. The line type adopts the fully-specified data type of the data object to which you refer. Except for within classes, you can still use the LIKE addition to refer to database tables and structures in the ABAP Dictionary (for compatibility reasons).
    All of the lines in the internal table have the fully-specified technical attributes of the specified data type.
    Key
    You can specify the key <key> of an internal table as follows:
    [UNIQUE|NON-UNIQUE] KEY <col1> ... <col n>
    In tables with a structured line type, all of the components <coli> belong to the key as long as they are not internal tables or references, and do not contain internal tables or references. Key fields can be nested structures. The substructures are expanded component by component when you access the table using the key. The system follows the sequence of the key fields.
    [UNIQUE|NON-UNIQUE] KEY TABLE LINE
    If a table has an elementary line type (C, D, F, I, N, P, T, X), you can define the entire line as the key. If you try this for a table whose line type is itself a table, a syntax error occurs. If a table has a structured line type, it is possible to specify the entire line as the key. However, you should remember that this is often not suitable.
    [UNIQUE|NON-UNIQUE] DEFAULT KEY
    This declares the fields of the default key as the key fields. If the table has a structured line type, the default key contains all non-numeric columns of the internal table that are not and do not contain references or internal tables. If the table has an elementary line type, the default key is the entire line. The default key of an internal table whose line type is an internal table, the default key is empty.
    Specifying a key is optional. If you do not specify a key, the system defines a table type with an arbitrary key. You can only use this to define the types of field symbols and the interface parameters of procedures . For exceptions, refer to Special Features of Standard Tables.
    The optional additions UNIQUE or NON-UNIQUE determine whether the key is to be unique or non-unique, that is, whether the table can accept duplicate entries. If you do not specify UNIQUE or NON-UNIQUE for the key, the table type is generic in this respect. As such, it can only be used for specifying types. When you specify the table type simultaneously, you must note the following restrictions:
    You cannot use the UNIQUE addition for standard tables. The system always generates the NON-UNIQUE addition automatically.
    You must always specify the UNIQUE option when you create a hashed table.
    Initial Memory Requirement
    You can specify the initial amount of main memory assigned to an internal table object when you define the data type using the following addition:
    INITIAL SIZE <n>
    This size does not belong to the data type of the internal table, and does not affect the type check. You can use the above addition to reserve memory space for <n> table lines when you declare the table object.
    When this initial area is full, the system makes twice as much extra space available up to a limit of 8KB. Further memory areas of 12KB each are then allocated.
    You can usually leave it to the system to work out the initial memory requirement. The first time you fill the table, little memory is used. The space occupied, depending on the line width, is 16 <= <n> <= 100.
    It only makes sense to specify a concrete value of <n> if you can specify a precise number of table entries when you create the table and need to allocate exactly that amount of memory (exception: Appending table lines to ranked lists). This can be particularly important for deep-structured internal tables where the inner table only has a few entries (less than 5, for example).
    To avoid excessive requests for memory, large values of <n> are treated as follows: The largest possible value of <n> is 8KB divided by the length of the line. If you specify a larger value of <n>, the system calculates a new value so that n times the line width is around 12KB.
    Examples
    TYPES: BEGIN OF LINE,
    COLUMN1 TYPE I,
    COLUMN2 TYPE I,
    COLUMN3 TYPE I,
    END OF LINE.
    TYPES ITAB TYPE SORTED TABLE OF LINE WITH UNIQUE KEY COLUMN1.
    The program defines a table type ITAB. It is a sorted table, with line type of the structure LINE and a unique key of the component COLUMN1.
    TYPES VECTOR TYPE HASHED TABLE OF I WITH UNIQUE KEY TABLE LINE.
    TYPES: BEGIN OF LINE,
    COLUMN1 TYPE I,
    COLUMN2 TYPE I,
    COLUMN3 TYPE I,
    END OF LINE.
    TYPES ITAB TYPE SORTED TABLE OF LINE WITH UNIQUE KEY COLUMN1.
    TYPES: BEGIN OF DEEPLINE,
    FIELD TYPE C,
    TABLE1 TYPE VECTOR,
    TABLE2 TYPE ITAB,
    END OF DEEPLINE.
    TYPES DEEPTABLE TYPE STANDARD TABLE OF DEEPLINE
    WITH DEFAULT KEY.
    The program defines a table type VECTOR with type hashed table, the elementary line type I and a unique key of the entire table line. The second table type is the same as in the previous example. The structure DEEPLINE contains the internal table as a component. The table type DEEPTABLE has the line type DEEPLINE. Therefore, the elements of this internal table are themselves internal tables. The key is the default key - in this case the column FIELD. The key is non-unique, since the table is a standard table.
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb35de358411d1829f0000e829fbfe/content.htm

  • How do I use different Layouts?

    I am trying to make a program that runs in a window like this:
    http://www.exyt-web.com/Window.gif
    The problem I'm having is with the layout.
    How do I have more than one layout ?
    For example - as you can see in the image (hyperlink above) I wish to have a border layout with a JFrame at the North position and then in the South position I want to have buttons laid out in a FlowLayout.
    Also with my radio buttons I want these in a GridLayout(3, 0) layout.
    I made up some example code to test using different layouts - but it seems one layout always overrides the other...
    import java.awt.*;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    public class LayoutTest extends JFrame
        public LayoutTest()
            setTitle("Hello World");
            Container contents = getContentPane();
            Container contents2 = getContentPane();
            contents.setLayout(new FlowLayout());
            contents.add(new JLabel("<FILTER [Type a th|    ]>"));
            contents.add(contents2);
            contents.add(new JLabel("< Filter Button >"));
            contents.add(new JLabel("<  Add Button   >"));
            contents2.setLayout(new GridLayout());
            contents2.add(new JLabel("< Button 1 >"));
            contents2.add(new JLabel("< Button 2 >"));
            contents2.add(new JLabel("< Button 3 >"));
            contents2.add(new JLabel("< Button 4 >"));
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            pack();
        } // HelloWorld
        public static void main(String [] args)
            LayoutTest theLayoutTest = new LayoutTest();
            theLayoutTest.show();
        } // main
    } // class HelloWorldI know this obviously doesn't work but I hoped it would show what I was trying to do.
    I also tried creating a new 'contents2' and then adding it into 'contents'
    e.g. contents.add(contents2); My current code for the window I'm trying to create so far is:
    import java.awt.*;
    import javax.swing.*;
    public class Menus extends JFrame
        public static void Menus()
            // Creates a new JFrame, with the title specified in quotation marks.
            JFrame frame = new JFrame("Film Database");
            // Sets the default close operation of the frame.
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            // Creates a new menu bar for the frame.
            JMenuBar menuBar = new JMenuBar();
            // Creates a new menu for the menu bar.
            JMenu menu = new JMenu("File");
            addFrameContents(frame, menuBar, menu);
            // Sets the new menu bar on the frame
            frame.setJMenuBar(menuBar);
            frame.pack();
            frame.setVisible(true);
        } // HelloWorld
        public static void addFrameContents(JFrame frame, JMenuBar menuBar, JMenu menu)
            // Adds the menu to the menu bar.
            menuBar.add(menu);
            // Creates a new item for the menu with a small icon.
            JMenuItem menuLoad = new JMenuItem("Load", new ImageIcon("C:/load.gif"));
            // Adds the new item to the menu.
            menu.add(menuLoad);
            JMenuItem menuSave = new JMenuItem("Save", new ImageIcon("C:/save.gif"));
            menu.add(menuSave);
            JMenuItem menuQuit = new JMenuItem("Quit", new ImageIcon("C:/quit.gif"));
            menu.add(menuQuit);
            // Creates a new container.
            Container contents = frame.getContentPane();
            // Sets a new layout for contents, in this case FlowLayout.
            contents.setLayout(new GridLayout(2, 0));
            // Adds new JLabels to the container.
            contents.add(new JLabel("< JLabel 1 >"));
            contents.add(new JLabel("< JLabel 2 >"));
            contents.add(new JLabel("< JLabel 3 >"));
            contents.add(new JLabel("< JLabel 4 >"));
            JLabel thisLabel = new JLabel("Hello");
            thisLabel.setLayout(new FlowLayout());
            JLabel thisLabel2 = new JLabel("Hello2");
            thisLabel2.setLayout(new FlowLayout());
            contents.add(thisLabel);
            contents.add(thisLabel2);
        public static void main(String [] args)
            Menus();
        } // main
    } // class HelloWorldAny help on how I can use two separate layouts in the same frame would be great!
    Regards,
    Tom

    doing this:
    Container contents = getContentPane();
    Container contents2 = getContentPane();
    does not create 2 different containers. It's just creating 2 variables that refer to the same container. There is only 1 content pane in a window/frame. A container can only have 1 layout.
    If you want to have 2 layouts, you create 2 panels with separate layouts and put what you want in each panel, and put both panels in the content page.

  • How can I use different calendars associated with different emails to see appointmen​ts separately​?

    I have 3 emails accounts on my Blackberry curve. I want to use different calendars for different type of reminders/appointments. How can I do that? In calendar I pressed menu key and then clicked on select calendar, choose one email address (email 1) then entered an alarm but now if I go to a different calendar associated with different email ( email 2), it also shows me that alarm which I entered in email 1 calendar. Thanks for help

    Don't have LV handy to open the old code, but I did read through the thread you referenced.  It sounds like the example configured 2 counters to create the variable-freq finite pulse train and configured a 3rd counter to count the # steps generated as verification.   That 3rd counter would be a problem for you as there is no internal timing signal connection between your 2 USB devices.  You would need to run a physical wire connection and change some of the config code to match.  Alternately, you could just delete all the code associated with the 3rd counter for now because it isn't strictly necessary.
    Further advice/questions:  Are you planning on a pure sine wave of frequency such that you oscillate with both positive and negative velocity (example: varying from -1000 to +1000 Hz clockwise)?  Or is there a nominal average frequency with a small sine wave superimposed (example: nominal of 1000 Hz clockwise, variation of +/- 50 Hz)?
    I *think* you may be dealing with more of a continuous pulsetrain situation, which is actually much simpler.  You would only need 1 counter/timer, though you would still perform the freq changes in a timed loop which uses the pulsetrain as its timing source.  You'd just need to keep track of your total elapsed time so you could figure out the right sinusoidal freq value at the moment you're ready to update it.
    Another subtlety to watch out for if you're oscillating about 0 velocity  -- don't try to create a frequency that is lower than the rate at which you need to update.  Also, with steppers you may have mechanical stability issues at low freqs like 10's to low 100's of Hz.    These kinds of things may need to be managed as special cases which force you to deviate from a "pure" sine wave.
    -Kevin P.

  • I have just updated my Ipod to the latest ios.(deleting everything) and using different sources to get my music back it seems that every time i select multiple/individual songs on itunes i can change artwork but will not show up on my ipod?

    I have a windows 8 computer and have recently updated my ipod to the latest ios and it has wiped my Ipod clean except for my photos. whilst trying to get my music back using different sources like CD's and stuff i cant seem to get any album art to load on my Ipod? I can go on itunes and highlight single/multiple items and change the artwork and my computer will confirm it but when I look on my Ipod it doesnt display any art work or allow me to change the artwork that is already there? i need help please!

    Album artwork can be added/changed on songs via the iTunes Get Info menu item from the File menu. Note that music that you loaded from CDs will not have any artwork. If you want to aquire artwork you can try the File menu item Library > Get Artwork or you can download artwork from the internet, etc. Note that just changing artwork on your computer won't affect the iPod until you sync.
    If the artwork is correct on your computer iTunes then delete all the music on your iPod by syncing with iTunes with no music selected. Then reload the music onto your iPod by again syncing with iTunes with all the music you want selected.

  • Development and Quality server using different screen color setting

    Hi,
    I want to differentiate the Development and Quality server using different screen colors,
    How can I set different color logon screen for the different kinds of servers.
    Thank You.
    Best Regards,
    M.Thirumoorthi
    [email protected]

    Hi Thiru moothi,
    Please check these links :
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/ep/modifyingtheLogon+Page&
    Custom Password Change Page
    Custom Portal Logon Page
    Reward points if handy!
    Cheers,
    Sandeep
    Edited by: Sandeep Tudumu on Mar 26, 2008 7:41 PM

  • Why we use different clearing account for GR/IR and planned cost clearing a

    My client ask for using same account for GR/IR account and all planned cost clearing account.
    i try to convince it should be different accounts but he needs a logical answer.
    Why we use different clearing account for GR/IR and planned cost clearing accounts?

    Dear friend.
    u just tell him while doing GR it will debited n  while doing IR it should get credited.hence we  need to take diff G/L account or same account.
    regds
    nasir

  • I use different languages in my daily activities, when typing other than English Mac does not recognize them, is there anyway can Mac stop suggesting or automatically correcting me?

    I use different languages in my daily activities, when typing other than English Mac does not recognize them, is there anyway can Mac stop suggesting or automatically correcting me?

    Is this a problem with the computer or with the word processor? MS Word for example seems to think its grammar and spelling are better than mine - they are not. You have to go into MS Word preferences and uncheck all the useless "help" it wants to provide.

  • I have been having trouble with my iphone 4 for the past day . i tried to update it to 7.0.4 then the screen went blank and it keeps telling me to connect to itunes . I have connected it to 2 computers , using different cords

    I have been having trouble with my iphone 4 for the past day . i tried to update it to 7.0.4 then the screen went blank and it keeps telling me to connect to itunes . I have connected it to 2 computers , using different cords and it doesnt recognize it . It says it is in recovery mode and i need to restore . after clicking restore it says that my iphone cannot be restored . I am very frustrated because i have been online searching for solutions all day and nothing seems to work . As soon as i turn on my phone it goes to the apple logo for about 2 seconds then the connect to itunes screen . SOMEBODY PLEASE HELP ! my phone is my life and i need it back on .

    Connect the device to iTunes and restore from the most current backup.
    If the issue continues, restore as new.

  • XML Publisher Bursting using different locale settings

    Hi,
    I have a report that shows numeric fields in different format mask if I select different template each time while submitting request. One template file's language is English and its territory is United States. Other template file's language is German and its territory is Germany. English template shows number like 1,500.94 ( "," comma as digit grouping symbol and "." period as decimal symbol) which is fine. German template shows 1.500,94 ( "." period as digit grouping symbol and "," comma as decimal symbol). So everything is great for me until I am using XML Bursting. Even if I specified german templates in bursting control file the output pdf file shows numeric character like English template. (e.g  1,500.94).
    Example of bursting control file
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
    <xapi:request select="/">
    <xapi:delivery>
    <xapi:filesystem id="file1" output="${DEST_PATH}.pdf"/>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="file1">
    <xapi:template type="rtf" location="xdo://XXCO.XXCO_INVOICE.de.DE/?getSource=true" filter="" >    --->  It gives same output  with en.US
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    Has anyone got any idea what is going on when bursting take care of generating PDF file again after the report is completed ?  Could you please help on this issue ? I will be grateful if I solve this problem. Thanks in advance.
    Regards,
    Ugur

    Hi,
    I have solved this issue by using <?xdoxslt:xdo-format-number, '999G990D00', 'da-DK')?> in every number fields instead of using different template file with danish language. Bursting also correctly shows number I wanted to be after this changes. So don't bother using different template file in order to show different digit grouping and decimal symbol. It's very simple this way except page total and carried forward totals. I choose number-separators=',.' option in xdofo:show-carry-forward tags.

  • Can we use different Databases (Oracle & SQL Server) in one report?

    Post Author: venki5star
    CA Forum: .NET
    Hi there.
    Can we use different databases (Oracle & SQL Server) in a same report?
    If possible how?
    Another question,
    Can we change the Provider Name at runtime of the given report. If so the above question is useless...
    Thanks in Advance.

    I tried this using Oracle Provider for OLEDB (the one that supplied by Oracle Client) and Crystal Reports 9. you can drag the column into designer but the image does not appear in preview.
    I guess it's because CR does not recognized it as image, and there are no information that the blob data is an image at all.

  • My wife and I share an iCloud account for photo library and iCloud drive mainly for our family photo management, but we use different accounts for iMessage/facetime/calendar/etc. With Yosemite, I can't use continuity/handoff without dumping the photo

    my wife and I share an iCloud account for photo library and iCloud drive mainly for our family photo management, but we use different accounts for iMessage/facetime/calendar/etc. With Yosemite, I can't use continuity/handoff without dumping the primary photo iCloud account and thus our shared photo system. We are running yosemite OS X 10.10 and iOS 8.0.2... Is there any way to do this?

    my wife and I share an iCloud account for photo library and iCloud drive mainly for our family photo management, but we use different accounts for iMessage/facetime/calendar/etc. With Yosemite, I can't use continuity/handoff without dumping the primary photo iCloud account and thus our shared photo system. We are running yosemite OS X 10.10 and iOS 8.0.2... Is there any way to do this?

  • Is there a way to use different search engines on the main bar and on the small one without having to switch anything on the small one?

    I want to use google when I type to search in the main bar and wikipedia on the small search bar on the right. However, they both seem to use the same search engine, depending on which one I've chosen on the small search bar. I want them to use different ones without having to click and change engines. How can I do that?

    You can use a (one letter) keyword search on the location/address bar and assign a keyword via "Manage Search Engines".
    You can use the Keyword Search extension to specify which search engine to use for searching via the location/address bar.
    *https://addons.mozilla.org/firefox/addon/keyword-search/

  • I have 1Mac computer running Lion. Can I set up 'find my iPhone' and 'find my iPad' if both those devices use different Apple ID's than the Mac does? As in can I set up 'find device' for my husband's iPhone and my daughters iPad?

    I have 1 Mac computer running Lion. Can I set up 'find my iPhone' and 'find my iPad' if both of these devices use different Apple ID's than the Mac does? As in, can I set up 'find my "device"' for my husband's iPhone and my daughters iPad?

    Welcome to the Apple Community.
    No, but you can log into any of their accounts on your computer at iCloud.com and see their devices.

  • Can separate apple ids be set up for individual family members that use different devices?  Several iPads are tied to one Apple ID (email address). Thank you.

    Can separate apple ids be set up for individual family members that use different devices (iPads & iPhones)?  Several family members are tied to one apple id (email address).  Thanks.

    How to use multiple iPods, iPads, or iPhones with one computer
    http://support.apple.com/kb/HT1495
    How to Share a Family iPad
    http://www.macworld.com/article/1163347/how_to_share_a_family_ipad.html
    Using iPhone, iPad, or iPod with multiple computers
    http://support.apple.com/kb/ht1202
    iOS & iCloud Tips: Sharing an Apple ID With Your Family
    http://www.macstories.net/stories/ios-5-icloud-tips-sharing-an-apple-id-with-you r-family/
    How To Best Use and Share Apple IDs across iPhones, iPads and iPods
    http://www.nerdsonsite.com/blog/2012/06/07/help-im-appleid-confused/
     Cheers, Tom

Maybe you are looking for