Getting the type in content assist extension

Hello,
In a plugin which extends the JDT, I need to add proposals to the content assist.
To do that, I would like to know the type of the prefix expression.
For example, when the user enters the code below, Eclipse gives in the content assist the methods of the Random class :
Random random = new Random();
random.
So the proposal computer finds the type of the "random" variable.
How does it work ?
Regards,
Romain.

Hello Joy,
Actually you don't need to do this, you can use the method GET_RELATIVE_NAME( ) to do the job for you!
DATA: gr_struct       TYPE REF TO cl_abap_structdescr,
      gt_components   TYPE cl_abap_structdescr=>component_table,
      gs_component    TYPE cl_abap_structdescr=>component,
      gv_actual_name  TYPE string.
* Get the interface structure fields
gr_struct ?= cl_abap_typedescr=>describe_by_name( 'ZIF_TEST=>STR01' ).
gt_components = gr_struct->get_components( ).
LOOP AT gt_components INTO gs_component.
* Get actual name
  gv_actual_name = gs_component-type->get_relative_name( ).
  WRITE: / gv_actual_name.
ENDLOOP.
If you want more DDIC details for the fields, you can try this way:
DATA: gr_element TYPE REF TO cl_abap_elemdescr.
LOOP AT gt_components INTO gs_component.
  gr_element ?= gs_component-type. "Narrow Casting
  gs_fieldinfo = gr_element->get_ddic_field( ). "Get the DDIC info
  WRITE: / gs_fieldinfo-rollname.
ENDLOOP.
BR,
Suhas
Edited by: Suhas Saha on Jan 31, 2012 2:57 PM

Similar Messages

  • Get the Type of a generic field at runtime, How to?

    Hello,
    As the topic already says, i need to get the Type of a particular field of a class. This field is declared private and generic. In C# there is a method
    Type Object.getTypeIs there any specific way to do this in Java 1.5?
    Please excuse my poor english.
    Thanks in advance.
    Markus

    McNepp wrote:
    endasil wrote:
    McNepp wrote:
    If you want to know the parametrized type (String in the example), I think there is no way of knowing this in Java 1.5 or Java 1.6, since the parametrized type is erased and not available at run time.The type of a parameterized field is not erased.For most intents and purposes, it is. Type erasure refers to the fact that at runtime, there are not actually multiple class binaries depending on the generic arguments to a class. Therefore, an ArrayList<T> is actually just an ArrayList with no generics.
    Frankly, I don't understand why you insist that the information on generic fields that the OP was asking about is lost at runtime.I wasn't trying to insist that. At the time, I was replying more to Saish and trying to reaffirm that most information about generics is lost at run-time. I mistakenly ignored how you qualified it with "field."
    What you write about instances of generic classes losing their type information is of course correct, albeit not to the point of the original question.Nope, you're right. I was just trying to reconcile the fact that many people get confused that there's any information available at run-time, and so start down the path of thinking that type erasure doesn't exist. But it very much does.
    The original question was about how to obtain the type of a generic field.And I did show in my example that even that is fairly limited, given that if the type is provided by the parameter of the class, it doesn't give you anything useful (I'm not trying to say you said it would!).
    The compiler preservers this information in the class file, so it can be obtained at runtime. Frameworks like JPA put this to use extensively, proving that it is of real value.Definitely. However I don't see this having as much to do with generics as basic reflection functionality. If you can get the type of a field at run-time, you should be able to get the parameters as well! That should in no way belittle its value, though. But I would have guessed (knowing little about) that JPA wouldn't put that to use so much as the type parameters of an accessor return type or mutator argument type. Especially since I thought we'd shown that you would need your fields to be non-private for JPA to be able to gain information about their type.
    Edit: getDeclaredField works fine with private members, and returns the expected "java.lang.String" from jschell's example above
    Edited by: endasil on 28-Apr-2009 10:39 AM

  • How do I get the table of contents to toggle? I opened it while reading one book I had checked out from my library, but it is still open when I start another book. I am using Adobe 4 and Windows 8.1 on my PC.

    How do I get the table of contents to toggle? It has remained open since I opened it while reading two books ago. Thanks for the help.

    Thank you for your advice. I followed your directions, but came up with the same results. However, I did discover that whenever I open up the iPhoto Library that is already existing on my MacBook a certain set of pictures shows up. But then when I open up the iPhoto Library from the Hard drive another set of pictures shows up. BUT not ALL of my pictures are showing up on the iPhoto Library from the hard drive. At least the last two years of pictures are not showing up?! Actually, it appears that all the pictures are there from when I started using iPhoto about 5 years ago up until around the time that I got my iMac desktop computer and started using that (2 years ago). I have noticed that more recent videos I have made are showing up in a folder on the hard drive, but will not appear when I open up iMovie?! Any ideas on how to access my pictures from the last 2 years off of the hard drive???

  • How to get the type of answer in a workitem?

    Hi Experts,
    I am building a report to get the users responsible for the approval of SCs and POs, in this report I need to get the type of answer given by the approver, if they have rejected, approved or partial rejected / approved the object.
    When I look at the container of the workitem I can get the agent responsible for the action and the dates, but I need your help to determine the type of answer. I believe I can get this information from the approval state, no? But I am getting a lot of different approval states: 0, 1, 3, 4, 10, 11 and 15. Can you provide me some guidance? I am new to workflows and I am stuck in this point.
    I am using SRM 5.0 and n-step approval workflow.
    Thanks in advance,
    Francisco

    I'm not an SRM expert, but from a pure workflow point you can read the output of a workitem. So, check how your workflow is built and then see what values are returned in the corresponding return fields. Explore the workitem structure in the log.

  • How to get the type of numeric

    Hi,
    I would like to know how getting the type of a numeric data programmatically. (DBL, SDL, I16, I32,etc.)
    This property is defined by selecting "Type of data" in the property's window of a numeric data; then by clicking on "representing".
    I tried to find the solution by using a property node then accessing to the property called 'representing".
    Without success, it seems this function is not available.
    Is anyone would know the solution.
    Thanks by advance,
    pr93

    There are several solutions.
    The 7.x version of the Flatten To String function had an additional output called "type string" which was actually an array of numbers. This array would tell you that information. OpenG has a VI that will tell you the datatype from this array. It's called "Get TDEnum From TD" and is in the LabVIEW Data Tools library. You can use VI Package Manager to easily install OpenG libraries.
    If you have a control you could use a reference and then use the "Get Type of Control" VI from the <vi.lib>\Utility\GetType.llb library.
    You could convert th"e numeric value to a variant and then use the "Get Type of Variant" VI from the <vi.lib>\Utility\GetType.llb library.

  • How to get the cropped page content

    Consider an A4 size pdf is cropped in Bottom and Right edges.
    If the user wants to open the pdf as A4 size then we are passing the rectangle size A4 to PDPage.DrawEx() method to get the page content.
    When we use like this, we are getting the full page content but our requirement is to get the cropped page content.
    Is there any way to get the cropped portion alone by passing the rectangle size as A4 to PDPage.DrawEx() method.
    But it is working fine for Left and Top edge cropping

    Have a look at this document:
    http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJSGuide.pdf
    go to the index and search for the term "Crop" or "Cropping" which has a hyperlink for page 70.  There you will find some JavaScript options for cropping the page from all sides which can then be saved using some other methods in the document.  I'm not sure, though, if JavaScript is what you're looking for.

  • Get the type of collecion elements

    Hi,
    I would like to get the type of the elements of a collection when I give the name the collection. Does anybody suggest anything about the SQL code?
    For example
    CREATE OR REPLACE TYPE CourseList AS TABLE OF VARCHAR2(64);
    CREATE TABLE department (
    name VARCHAR2(20),
    director VARCHAR2(20),
    office VARCHAR2(20),
    courses CourseList)
    NESTED TABLE courses STORE AS courses_tab;
    How it is possible to get the type of elements of CourseList (in the example it is VARCHAR2(64)) if I give the name of the nested table courses?
    Thank you

    > I would like to get the type of the elements of a collection when I give the name the collection.
    sniff sniff
    Smells like some kind of dynamic SQL or dynamic PL/SQL thing. It usually stinks.
    If the dynamic part comes into play at rendering time (like in APEX for example that executes a SQL and then needs to dynamically render the projection) - use DBMS_SQL cursors (or ref cursors when rendering in an external client). Use the describe interface to dynamically determine the structure of the SQL projection.
    Anything more than that - think carefully. Especially at it seems you want to deal with actual relational data structure dynamically. 99% of the time it is flawed and the remaining 1% of the time the person usually have no idea what he (or she) is really doing... ;-)

  • Get the Type (U8, U16...I64) of controls inside a Cluster

    Hi,
    I have a cluster with several controls. 
    I would like to get the type of each control inside of it. To get the class is ok. This is simple and all of them are Digital. But I need to know if they are U8, U16, U32 ...... I64. 
    Any idea how to do this?
    Paul
    Solved!
    Go to Solution.

    I got it.
    I had to Convert the Element Refernce to Digital and then to use the property BitAccurateDataSize.
    I lost several hours to find the solution and in 5 minutes after I had posted my problem on forum I solved it . 

  • Method to Get the INPUT parameter CONTENT byte length

    method to get the INPUT parameter CONTENT byte length

    Dear "clown of forums",
    Please read the forum rules and ask understandable questions -> one thread per properly formulated question after having searched.
    Thread locked.

  • How to get the type of org.omg.CORBA.Any ?

    Hi there
    My q is: how can I get the type of an Any object?
    Please have a look at the following code:
    ORB orb = ORB.init();
    org.omg.CORBA.Any anytest = orb.create_any();
    anytest.insert_string("mystring");
    TypeCode tc = anytest.type();
    Now how can I get back that the type is String??
    Regards
    Brian

    Hi,
    Try using anytest.type().kind().value() -> should yield TCKind._tk_string. See the javadoc for more info.
    I think that the only way to check types is by comparing the codes; as far as I know there is no easy way to get the equivalent Java Class object or so. But I could be wrong on that one.
    Best,
    Guy

  • JAXB:How to get the type of an element

    Hi
    I am working with JAXB 2and i am using a custom ValidationEventHandler to validate my xml document:The issue I have is that when my document isn't valid,i would like to get the error node and its type(string,date...)
    I tryed node.getNodeType() but it return if the node is ATTRIBUTE_NODE,TEXT_NODE....
    public boolean handleEvent(ValidationEvent ve) {           
            if (ve.getSeverity()==ValidationEvent.FATAL_ERROR || 
                                   ve .getSeverity()==ValidationEvent.ERROR){
                ValidationEventLocator  locator = ve.getLocator();
                org.w3c.dom.Node node=locator.getNode();
              System.out.println("ERROR element type:"+node.getNodeType());
             return true;
           }How could i get the type(String,Date,Integer...) of the node in error?
    Edited by: riadhhwajdii on Aug 14, 2010 4:20 AM

    As you already mention that is not resolved before the annotation processing stage
    [ http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html]
    So, you probably need to produce your own analysis code or better reuse the compiler's own code if that turns out to be easy (no clue). I reckon it is better if you avoid modifying the compiler itself as it will make much more difficult to maintain and deploy your (more than a) processor.
    Sorry if you already tough about this.
    Edited by: discretoboy on Apr 7, 2009 3:20 PM

  • I ordered mac OS and I got the email for License and I didnt get the attachement for content code. Please help me getting the content code.

    I ordered mac OS and I got the email for License and I didnt get the attachement for content code. Please help me getting the content code.

    It's a two email process, one email has a locked pdf with the redemption code. The second email has the password to unlock the pdf. They come separetly, so you may have to wait for the 2nd to arrive.

  • Hello. I appreciate your help. I am in FCP7 and trying to do Boris Vector Shape effect. When I try to pull the  vector shape square from the view window to the Superimpose, I get the message: insufficient content for edit. Why?

    Hello. I appreciate your help. I am in FCP7 and trying to do Boris Vector Shape effect. When I try to pull the  vector shape square from the view window to the Superimpose, I get the message: insufficient content for edit. Why? I did this effect before and everything worked well. Thank you for your help.

    Make sure that you have no active I/O markers on the Timeline (use Option X keys to clear them).

  • Get the type of a Page Item

    Hey guys,
    i am working on an inDesign extension. i have a requirement to go through the document elements. i was able to get all pageItem objects on a doc page.
    i am now trying to figure out what is the type of each pageItem so i am using the following code that i found in here:
    http://cssdk.host.adobe.com/sdk/2.1/docs/WebHelp/app_notes/indesign_pa ge_items.htm
    //Given a page item "myPageItem" of unknown type:
    var myPageItemType:String = flash.utils.getQualifiedClassName(myPageItem);
    this is supposed to give me for example: com.adobe.indesign::Rectangle
    instead all items are returning: com.adobe.indesign::PageItem
    any idea what i am doing wrong here?
    Thank for the your help.

    Responded on the EB forum...

  • In Mail, how can I get the type face for messages to be seen?

    By that, I mean when I open Mail and go to type an e mail message the type face is really quite small to the eye, yet it is set to be published as Tahoma 12. The only way I have found to enlarge it so that it can be read easily is to use Command and + or - as the case may be.
    Is there some way that the New message window can have a viewing size that reflects what is the type face being used? Or do I hve to have the window open as full screen?
    The same problem is there with new messages being received. The size in the message window is quite small and I can't be doing with manually enlarging it all the while.
    Thanks
    altv

    No. Screen resolution has no effect on the size of text in the new message window. It looks as if Mr Apple has done it again and produced something that is missing. Simple logical items so that things can be adjusted simply and easily. One pace forward and fourteen backwards.
    It would be nice if I could simply reinstall Mail on the principle that it is corrupt, but that can't be done or at least I can't see how it can be done with out reinstalling Mountain Lion again. I am certainly not going thru' that hoop again with one and half hours downloading it!
    I suppose the next thing is to get another Mail programme, but what is a good simple one to use on an iMAC?  Why do they have to make the things so difficult?
    altv

Maybe you are looking for