Introspection/Reflection/this

Hi,
I would like to get the method name, dynamically, using introspection/reflection.
for example:
//begin of problem
Class SomeClass {
public void SomeMethod() {
System.out.println("method name == "+
this.getClass(). ...?( what goes here to get this method's name)
expected output:
method name == SomeMethod
//end of problem
Hope the problem is clear. I need to retreive the name of the method or constructor using "this", which is the current object reference.
any further questions please reply to the dicussion.
thanks in advance.
Mohan

Hello Mohan,
you cannot do what you want using the reflection API. The reflection API works at runtime, but uses the class definition to find out all the relevant information (fields, method signatures, ...), thus, it cannot tell you which is the currently executing method of a given class instance object.
The only way you can dynamically find out which method is currently executing (or even better, which method called your method) is how you have already described, by parsing an Exception stack trace.
This is not a very effective debugging practice, and should only be used in stead of a debugging utility to find the specific bug you are after. Once you have found your bug, this code should be removed.
Remember, the Reflection API works on a class definition, this is why you cannot use it to work out runtime characteristics (how many times has this method or that method been called, etc.).
Regards,
Manuel Amago.

Similar Messages

  • PL/SQL introspection/reflection

    Hi there,
    I am using "Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production".
    Is there any introspection/reflection mechanism available in PL/SQL?
    What I would like to do is to retrieve an object type name (and owner/schema) from one of its member function or procedure.
    Albain

    Perhaps you means something like this?
    create or replace procedure who_called_me( owner      out varchar2,
                             name       out varchar2,
                             lineno     out number,
                             caller_t   out varchar2 )
    as
        call_stack  varchar2(4096) default dbms_utility.format_call_stack;
        n           number;
        found_stack BOOLEAN default FALSE;
        line        varchar2(255);
        cnt         number := 0;
    begin
        loop
            n := instr( call_stack, chr(10) );
            exit when ( cnt = 3 or n is NULL or n = 0 );
            line := substr( call_stack, 1, n-1 );
            call_stack := substr( call_stack, n+1 );
            if ( NOT found_stack ) then
                if ( line like '%handle%number%name%' ) then
                    found_stack := TRUE;
                end if;
            else
                cnt := cnt + 1;
                -- cnt = 1 is ME
                -- cnt = 2 is MY Caller
                -- cnt = 3 is Their Caller
                if ( cnt = 3 ) then
                    lineno := to_number(substr( line, 13, 6 ));
                    line   := substr( line, 21 );
                    if ( line like 'pr%' ) then
                        n := length( 'procedure ' );
                    elsif ( line like 'fun%' ) then
                        n := length( 'function ' );
                    elsif ( line like 'package body%' ) then
                        n := length( 'package body ' );
                    elsif ( line like 'pack%' ) then
                        n := length( 'package ' );
                    elsif ( line like 'anonymous%' ) then
                        n := length( 'anonymous block ' );
                    else
                        n := null;
                    end if;
                    if ( n is not null ) then
                       caller_t := ltrim(rtrim(upper(substr( line, 1, n-1 ))));
                    else
                       caller_t := 'TRIGGER';
                    end if;
                    line := substr( line, nvl(n,1) );
                    n := instr( line, '.' );
                    owner := ltrim(rtrim(substr( line, 1, n-1 )));
                    name  := ltrim(rtrim(substr( line, n+1 )));
                end if;
            end if;
        end loop;
    end;
    create or replace function who_am_i return varchar2
    is
        l_owner        varchar2(30);
        l_name      varchar2(30);
        l_lineno    number;
        l_type      varchar2(30);
    begin
       who_called_me( l_owner, l_name, l_lineno, l_type );
       return l_owner || '.' || l_name;
    end;
    create or replace package pkg_a is
      procedure p1;
    end;
    create or replace package body pkg_a is
      procedure p1 is
      begin
        dbms_output.put_line(who_am_i());
      end;
    end;
    SQL> set serverout on
    SQL> exec pkg_a.p1;
    SCOTT.PKG_A
    PL/SQL procedure successfully completed.
    SQL>

  • TS3408 After I update my website, why doesn't Safari reflect this-even after emptying cache? (Chrome does)

    After I update my website, why doesn't Safari reflect this-even after emptying cache? (Chrome does). Any help would be great. I am a web developer and need to reload the page constantly to see changes, I can't have it be that safari takes a day to refelct changes-it used to happen instantly, what has changed?

    It probably says more about MySpace than Safari but anyway you could try the latest nightly build of Safari's Webkit web browser engine. I always use this now and find it offers greater all round performance.
    Try it and see if it helps.
    Just click the big 'Download Nightly builds' button on this page.
    http://webkit.org/
    In case you don't know, you just run the webkit application instead of Safari but in use it will seem no different than Safari because all you're doing is running an updated version of the rendering engine in Safari. Safari 3.1 remains untouched and you can switch back to that if you wish.

  • HT1918 I have changed my internet provider and so changed my apple ID and password to reflect this.  However all the apps I purchased before refuse to accept this new password for updates but nor will it now accept the old one.  Help

    I have changed my internet provider and so changed my apple ID and password to reflect this change.  Now all the apps I purchased and downloaded on my old ID will not update as it won't accept my new apple id or the old one.   Help!

    All the apps are "connected" with the AppleID which was used to purchase them and there is no way to update them with a new or different id.

  • Can I select which Apps to download and will the service charge reflect this choice?

    I will not want to use all the Apps and I want to pay less for as I will use less.

    robw007 wrote:
    This seems a little unfair - are there any plans to make the scheme more
    flexible?
    Not that I'm aware of.
    Adobe would probably says that the Cloud is very flexible now, the apps are all there if you ever do want to use them (they hope you'll try them all eventually), and the entire Cloud costs each member less than the price of a cup of coffee per day.
    I cannot see them introducing per-app bundle pricing to the Cloud (other than the current single app membership). The price differentials between each bundle would hardly be worth  it.
    You could always float the idea in the Cloud feedback forums to gauge interest among other Adobe users
    http://forums.adobe.com/community/creative_cloud?view=idea
    Also, feel free to post a feature request to Adobe (but don't expect a personal reply)
    https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform
    I think the Cloud is here to stay in its current form. They'll just keep selectively adding more apps and services to make it more and more appealing.

  • Using 'getClasses'  for reflection / introspection  - not found in Jdev

    Hi people,
    I am using Jdeveloper 10.1.3.0.4 and I am trying to use some of java's reflection / introspection features.
    - I am trying to use the getClasses method, part of the 'Class' class.
    However, Jdeveloper is telling me 'method not found.' The getClass method
    is found OK, but not getClasses, which looks like a standard method in 'Class' in the java doc. Anyone know how to pull this one in ? I am coding import java.lang.Class; explicitly as well.
    Specifically, my need is to determine, at runtime, a list of the lowest-level 'leaf node' subclasses in a specific class inheritance tree. I reckon I should be able to do this with a recursive routine that uses getClasses on each class; when this returns an empty array I know I am at a lowest-level subclass. However it's failing on the first hurdle -
    static House myHouse = new House(); // House is the simple class I want to test
    static Class[] array_of_classes ;
    array_of_classes = myHouse.getClasses();
    -> method getClasses not found in <current package.class>
    on a similar vein, I tried adding
    import java.lang.reflect;
    - this gives java.lang.reflect not found.
    My only alternative is to code my program in a totally non-OO way! :-(
    please help!
    thanks!!!

    Hi,
    I resolved the other errors by changing all references from com.bea.jcom.Variant
    etc to com.linar.jintegra.class name..all were present under the com.linar.jintegra
    package.
    Thank you all anyways,
    Regards,
    rahul
    "Rahul Srivastava" <[email protected]> wrote:
    >
    Hi,
    We are generating java classes for the COM dll using JCOM com2java compiler.
    We are getting a compilation error for import class not found when compiling
    the
    generated Proxy java source code. It can't find the com.bea.jcom.Dispatch
    class that
    the generated Proxy java source code extends. It also can't find com.bea.jcom.Variant
    or com.bea.jcom.Param. These are interfaces or data types or classes used
    by COM
    library.
    I added weblogic.jar to my class path and the only Dispatch class i found
    inside
    the weblogic.jar is com.linar.jintegra.Dispatch;
    We have com objects for which we want to develop an EJB client to interface
    with
    the COM object using JCOM with Native Mode disabled.
    Any help on the compilation error..I tried changing the extends for Dispatch
    to com.linar.jintegra.Dispatch
    but the other errors are still there.
    To begin with, I think the generated code should not refer to any of the
    COM data
    types.
    Any help please.
    Thank you in advance,
    Regards,
    Rahul Srivastava
    [email protected]

  • Reflection/Introspection: how to check simple vs complex inst variables?

    Hi developers,
    I need to traverse an object tree (xml based generation) and check whether underlying objects (e.g. instance variables) are primitive types/wrappers (int, Integer, short, Short) or complex types (e.g. Employee, Customer, ...). The purpose is to allow users to directly enter data in primitive fields and to expand complex nodes.
    I am using introspection/reflection.
    Until now I have come out with the following code:
    public class MyTest {
        public static final List<Class> primitiveList;
        static {
         primitiveList = new ArrayList<Class>();
         primitiveList.add(String.class);
         primitiveList.add(Integer.class);
         primitiveList.add(Date.class);
         primitiveList.add(Short.class);
         primitiveList.add(Double.class);
         primitiveList.add(Long.class);
        public static boolean isPrimitive(Object obj) {
         return primitiveList.contains(obj.getClass());
        public static void main(String[] arg){
         String foo = "foo";
         System.out.println(isPrimitive(foo)?"primitive":"complex");
    }It looks very low-level to me... Can anyone please suggest a better way to do this?
    Thanks and kind regards

    My guess is that you will have to write most of this yourself and that it will be custom code.
    However, take a look at nakedobjects.org (no, it's not an adult site). It allows users to do exactly what you are trying (or at least partially what you are trying).
    You can optimize your method slightly by using common classes (e.g., Number, CharacterSequence, etc.) but then will have to use Class#isAssignableFrom on each.
    - Saish

  • AR Down Payment Invoice Does Not Reflect in BP Master Data...

    We have placed a sales order for a BP. 
    We select payment means and accept the payment
      In the background a AP Down Payment Invoice is created
    When we view the BP master data - the account ballance window does NOT reflect this "down payment"
    If we select the golden arrow at account ballance, uncheck "reconciled transactions" you can see the payment and AP down payment and they clear each other out.
    The problem is that when the final invoice is created it is not obvious that a down payment has been received.  Even if you are simply working at the BP master data window, it is not obvious that a down payment has been received. I belive our process is correct because If you click the TDP box, the payment is listed and will be applied to the final invoice.
    It simply does not alert the user that a payment had been received. 
    What are we doing wrong?????\
    Thank you!
    Edited by: Andrew Bleier on Feb 4, 2009 1:27 AM

    Keith Taylor
    You are right this feature is only available in Version 2007A.  There account posting happen purely due to the pay SAP has been designed and the configuration of GL Accounts.
    To make fundametal change to the core product is very difficult if you explain me your business process exactly as you do, I could think of alternatives.
    Please let know.
    Suda

  • "Lightroom has encountered problems reading this photo."

    ***** UPDATE July 17, 2013 @ 9:16 am Central Time (UTC -06:00)*****
    After Creating a fresh catalog I have been able to clarify the issue a bit. This error appears to only show up in Folders exported as Catalogs. Particularly when I try and open that exported catalog.
    I suspect there is a problem with the way Lightroom 5 is exporting these catalogs. I didn't have this issue with LR4.4, but it shows up any time I export a folder as a catalog within LR5, regardless of whether or not it is exported from an upgraded catalog or a fressly created catalog.
    It looks like fixing the problem is going to be time consuming, but not impossible. So far I have confirmed that these files - reported as throwing this error by Lightroom 5 ("Lightroom has encountered problems reading this photo .... You will not be able to make adjustment to this photo.") - can be imported into a new/existing catalog by multiple methods without carrying over the errors displayed in the exported catalog.
    This is frustrating and adds additional steps to my workflow, but isn't undoable. Of course it would be nice if LR5 worked as correctly and exported folders as catalogs without throwing errors when those new catalogs were opened...
    Is anyone else seeing this problem when they open catalogs created by "exporting a folder as a catalog"?
    ***** Original Post *****
    I'm really confused. I am consistently getting this message on certain exports, but not others...
    When it happens:
    1) "Export this Folder as a Catalog" from a specific folder within my Working Catalog
         Select the location
         Select "Export negative files"
    When I open the NEW Catalog - ALL the photos reflect this error message: "Lightroom has encountered problems reading this photo .... You will not be able to make adjustment to this photo."
    When I go to the Develop tab it displays "There was an error working with the photo" over the photo, but I can edit it... When I close the catalog and re-open it, the changes don't reflect UNTIL I go back to the Develop tab, then the thumbnail will reflect the change. But the system still insists that it has a problem with the file...
    2) The same thing happens when I export the file from my Working Catalog as an image of the same format - be it tif, dng, or psd, or RAW files. Not sure what I was refering to here (can't duplicate today - July 17).
    When it doesn't happen:
    When I export the file to the auto import folder for my Portfolio catalog (original format). This seems to work...
    Why am I so confused? Because all of these catalogs are located on the same drive (which is different than the drive my Working Catalog is on). When they are auto imported to my Portfolio catalog they seem to work, but everything else throws an error sinse I upgraded to LR5!
    My System:
    Windows 7 Pro SP1 (fully up to date) 64-bit
    Intel Core i7 CPU 950 @ 3.07GHz
    Installed RAM: 12.0 GB
    My Lightroom 5 Working Catalog doesn't seem to be having any problems...
    This problem is frustrating enough that I may go back to LR4. I can't have my archived files compromised...

    Suggestion to all who encounter problems like this: if you've installed 3rd party memory cards (ram), go back to your original ram, or at least the brand of ram that your computuer came with.
    Long story, short:
    I had the same error message in LR5.  It only happened with several images in a given import.  If I deleted all of the images from the import and reimported the images, a different set of images would have the error message.  The images that originally had the message would no longer have the problem.  I deleted and reimported several times while observing the same behavior. 
    Not only did lightroom give me issues, but Bridge had problems reading the files, and the previews of the problem images would not show up in Finder (Mac speak).  This ruled out, to me at least, that it was a software issue.  I went out and purchased a new card reader and had the same problems.  I tried a different card with different images and got the same problems. 
    After I contacted Adobe, they had me upload two files with the error, and they said the files were corrupted due to faulty hardware.  I took my mac book pro (13in early 2011 w/ 10.7.5) to the apple store and they ran a diagnostic test amoung other test and we came up with nothing.  Everything seemed to be good on the hardware side.  After some research the Rep. asked me about my ram (memory cards).  I had in the past installed two 3rd party cards to boost my ram from 4GB to 8GB. The rep. suggested that I go home and test the issue with the original ram my computer came with before we go any farther.  So far, I haven't had any issues. 
    I hope this helps,
    Josef

  • Inspect this method please.

    Hello,
    I would greatly appreciate some feedback on this method. The method is part of a class that is part of a project called FileSwap which I am developing in school. (My first networking app)
    Please ignore any syntax errors (I just wrote this up and haven't compiled...), and assume that a connection is established and all variables have been properly initialized. I am only looking for feedback on the meat of the method and logic, mainly reading from the socket and writing to a file. Lastly, the method is by no means complete...
    Thanks in advance...
    // FileSwap - receiveFile()
    private final int LENGTH_TO_READ = 1024;
    private String lastFileRequested;   // set for every sendCommand() not containing "List"
    private String separator;          // dependent on OS
    private String sharedDirectoryPath;
    byte[] bytesRead;
    InputStream is;
    BufferedInputStream bis;
    FileOutputStream fos;
    Socket fsSocket;
    public void receiveFile()
         // Before saving the file, verify to overwrite if it already exists
         int overwrite;
         File testOverwrite = new File(sharedDirectoryPath + separator + lastFileRequested);
         if (testOverwrite.exists())
              overwrite = JOptionPane.showConfirmDialog(
                   null,
                      ("File: " + lastFileRequested + " already exists. Overwrite?"),
                   "Message from FileSwap.",
                   YES_NO_OPTION);
              if (overwrite == JOptionPane.YES_OPTION)
                   // Save the file
                   try
                        fos = new FileOutputStream(sharedDirectoryPath + separator + lastFileRequested);
                        bytesRead = new byte[LENGTH_TO_READ];
                        // Get the sockets input stream
                        is = new InputStream(fsSocket.getInputStream());
                        bis = new BufferedInputStream(is, LENGTH_TO_READ);
                        // read the bytes, write them to a new file
                        while ((lengthRead = bis.read(bytesRead, 0, LENGTH_TO_READ) != -1)
                             fos.write(bytesRead, 0, lengthRead);
                   catch (IOException ioe)
                        JOptionPane.showMessageDialog(null, ioe.getMessage());
                   // TODO: cleanup
              else
                   // Do not overwrite, save new or discard...
                   // TODO
         else     
              // File doesn't exist, just save it
              try
                   fos = new FileOutputStream(sharedDirectoryPath + separator + lastFileRequested);
                   // Get the sockets input stream
                   is = new InputStream(fsSocket.getInputStream());
                   bis = new BufferedInputStream(is, lengthToRead);
                   // read the bytes, write them to a new file
                   while ((lengthRead = bis.read(bytesRead, 0, lengthToRead) != -1)
                        fos.write(bytesRead, 0, lengthRead);
              catch (IOException ioe)
                   JOptionPane.showMessageDialog(null, ioe.getMessage());
              // TODO: cleanup
    }

    If I use a buffer larger than 8192, I would have to set the socket receive buffer to reflect this... correct?Not necessarily. Large socket receive buffers always help, but there's no necessary connection between the size of the application buffer and the size of the socket receive buffer. The reason I said 8192 is that BufferedInputStream has an 8192 byte buffer.
    This would also prove to be much faster when downloading large files... correct?Definitely, and in this case the larger the socket receive buffer the better. Set it to 64k-1.

  • Problem with VideoDisplay orizzontal reflection

    Hello everyone,
    I write because I have a problem with the item VideoDisplay in Flex.
    A hypothetical
    <mx:VideoDisplay id="videoDisplay" width="400" height="300" />
    how do I reflect it horizontally? So basically the right side should become the left and the right the left.
    I tried to input a negative width but the app crashes.
    Can you help me?
    Thanks

    Hi Eli,
    Many thanks for your help.
    I already have one derivation rule for budget period based in posting_date field. I do not have in field options the field for fm posting date...
    The system should post based in fm posting date. For example, i have one PO with two items, the first item with delivery date (that is the date for fm posting date) have value 01.01.2012 and second item have value 01.02.2012. I have to reflect this in budget for budget period 01.2012 and 02.2012 respectly.
    Can you help me with a suggestion to solve this situation?
    thanks,
    Regards
    Ricardo

  • Outlook and 9500 Sync but do not reflect updates

    I have Outlook 2003 and the latest version of PC Suite (6.??).
    WHen I syncronise, either via the 9500 or via the PC, they both reflect that updates have taken place for contacts and dummy calendar entries I have entered (some on the 9500 and others in Outlook's Calendar).
    When I view the 9500 Calendar it shows all of the entries I made on the 9500 but has not imported any from Outlook even though the log states that 1 update was made.
    My Psion 5mx used to sync in seconds!
    Update:
    Stranger still, One of the entries made by the Psion 5mx and then synced up to Outlook HAS copied across. It was a repeating day entry and my 9500 is reflecting this.
    Arrrrrgh - I hate having new toys that I can't use!
    Anybody out there got any bright ideas?

    Hello,
    Please try the following :
    First you can reset the PC Suite profile on the phone. Herefore you go on the inner side of the device to Desk -> Tools -> Device management -> you will see here the PC Suite profile -> You press the Menu button and choose Delete
    After this you press again the Menu button -> Tools -> Reinstate PC Suite profile.
    After this you close device management, and reboot the phone, by removing the battery from the device during 10 seconds, and placing it back.
    On your PC you remove the following directories :
    C:\Documents and Settings\%USERNAME%\Application Data\PC Suite\ConfServer
    C:\Documents and Settings\%USERNAME%\Application Data\Nokia\ContentCopier
    C:\Documents and Settings\%USERNAME%\Application Data\Nokia\PCSync\SynchData
    C:\Documents and Settings\%USERNAME%\Application Data\Datalayer
    C:\Documents and Settings\%USERNAME%\Phone Browser
    (you replace %USERNAME% by the username with which you're logged in in Windows)
    After this you reboot your computer and try again.
    If this still fails the correct version number of PC Suite would help. You can find this in the main screen of PC Suite if you go to Help -> Info

  • I'm trying to create a program that will allow me to collect data from a Luxtron thermometr​y system. How can I do this?

    I'm a little confused as to how to write to the machine and how to retrieve data from the machine. I'm unsure of requested byte size and string to write specifically. This machine also has 4 probes, so it can record 4 temperatures simultaneously. How can I reflect this in the waveform chart?

    There are example VI's in LV on Instrument Connectivity. If you go to the Help menu >> Examples.. >> I/O, you will see a couple; and Examples.. >> Fundamentals for File and String manipulation. I would suggest tweaking them to suit your application. Also the specific command that your instrument responds to can be found from it's manual.
    You could find a driver for this instrument at http://www.ni.com/devzone/idnet/default.htm . If it's not listed there, it leaves you with one of a couple options. First, I would like you to submit a request for this driver at: http://zone.ni.com/idnet97.nsf/instrumentdriverreq​uest/
    We develop drivers based on demand and popularity so the more requests we have for it, the greater the possibility that we will develop one.
    If y
    ou would like to try developing your own instrument driver (or modify the existing one), we have documentation, model instrument drivers, and driver templates to help at :
    http://www.ni.com/devzone/idnet/development.htm
    We also have a syndicate of third party vendors that specialize in National Instruments' products and services. Some of the vendors specialize in driver development. I would suggest contacting one of the Alliance members at:
    http://www.ni.com/alliance
    Some useful resources for your application are
    ni.com > NI Developer Zone > Development Library > Instrument Connectivity
    http://search.ni.com/?col=alldocs&layout=TechResou​rces&ql=a , to search examples and knowledge bases
    Hope this helps.

  • Make any changes in node doesnu2019t reflect in other alternative hierarchies

    I have two alternative hierarchies in MDM
    H1
    |--- N1
         |- N11
              |1005000
    H2
    |--- N1
         |- N11
              |1005000
    When i add N12 node (under Node N1) in first H1 hierarchy as mentioned below,  This doesn't reflect in H2 hierarchy automatically although N1 node already exist that should reflect this in H2 hierarchy too. 
    H1
    |--- N1
         |- N11
              |1005000
         |  N12
    Is there any workaround possible?

    Hi,
    Firstly one repository you should have one hierarchy. Anyways if you are maintaining two hierarchies then they exist independently as you see in your Main table there are two fields which are lookup to two different Subtables( Hierarchy table say H1 and H2) thts why they exist differently and you cant reflect one field made in H1 into H2. it could possible when you are maintaining two fields in your Main table and reference to same Subtable say (Either H1 or H2). Moerover i feel for same repository you dnt need to maintain more than 1 hierarchy.
    Hope it will Help you,
    Rewards if found Useful.......
    Thanks,
    Mandeep Saini

  • Account Manager Not Reflecting Skype Minutes used

    My account used to reflect this.
    I use my iPhone WITH WiFi on to make my calls through Skype.  I have a Skype phone number.
    For some reason, the "usage" minutes are all reflecting "0" yet in my history, it shows calls being made.
    Anyone know why this happens?

    I'm having the same issue. I'm on the unlimited US and Canada plan, but my minutes usage shows at 0. I have two friends who are on the same plan and their usage is accurate. It would be really helpful to see an accurate count on how much time we spend on the phone. 

Maybe you are looking for

  • Installed LION, cannot open mac app, ichat, and pages doesn't open any kind of documents.

    after installing lion, mac app and ichat works perfectly fine, the next day, it doesnt open anymore. it just bounces in the dock and crashes. i think some apps do the same, tried pages for the 1st time and it doesnt open any types of documents. its k

  • Migration from G5 to new i5 iMac

    I've been using a G5 iMac with Tiger, then Leopard, for the past 6 years. I've now bought an i5 iMac to get Snow Leopard before the last chance to do so vanishes. I have some questions about migration of all my data. Question 1. Is it better to conne

  • Unable to tnsping entry in oracle names server

    Hi I have an issue in connecting from my oracle client (oracle 10g ee on windows xp) hosted on windows xp to oracle names server. To be precise, the issue is on my client as others are able to connect to same ONS. When I tnsping <connect string> I ge

  • Using Planning with FDQM, where are the essbase adaptors?

    Hi, I have EPM system version 11 installed, and have been working with Planning. I do not know much about Financial Data Quality Management, but would like to explore its capabilities and use it with Planning. I have created a new FDM application fol

  • Netstream.send only text messages or any type?

    In Netstream.send() documentation it says: " ... arguments - Optional arguments that can be of any type." In the documentation to the Netstream class it says "You can also use NetStream objects to send text messages to all subscribed clients (see the