Recommended Java Decompiler ?

Hi there,
Can anyone recommend a good and free or trial java decompiler that decompiles jar/class file back to source code?
I had use Mocha, but some of the class file it fails to convert.
Any help please?
Thanks.

Just do a search of the forums (upper right corner of the page) and get a list like this
http://onesearch.sun.com/search/developers/index.jsp?qt=decompiler+disassembler&col=javadoc&col=devforums&col=javatecharticles&col=javatutorials&col=devarchive&col=javasc&col=devall
I use Jode, FWIW

Similar Messages

  • I need java decompiler for multiple class

    Hello, i need a java decompiler for multiple class.
    avoiding of decompile one to one.
    Thanks

    Use JAD it has recursive decompiles.

  • Java Decompiler for Inner classes

    Hi,
    I am looking for a Java Decompiler that can handle the decompiling of inner classes fairly well. Any help will be appreciated. Thanks.

    dj decomplier is probably the best one. u can look for it on google.

  • Java decompiler

    Sometimes I use java decompiler, so I know so easy is to decompile a jar file and get the code.
    Know, I want to make a jar file, to encrypt somethig, so I shoult have the code secret.
    anyone knows how o do it?
    Thanks.

    you can crypt .class files and write your own class loader that can read&load them normally...
    you could also compile the whole think to .exe but the only prog I know of that can accomplish that is Excelsior JET... and it's big and expensive... but you can try out the trial..

  • Where can I find a free java Decompiler?

    Where can I find a free java Decompiler?

    Look for JAD in Google:
    http://www.tripod.lycos.com/bin/membership/suspended?member_name=kpdus

  • Best java decompiler

    Guys, what's the best java decompiler (accurate and reliable) out there today?

    I never said a developer will never be in need ofa
    decompiler. That's why I said after the onesentence
    you quoted: "Without some more detail, I think
    it
    is justified to point the OP to a searchengine."
    I was just providing an example of one thathappened
    to me.I believe this would have happened to most of us.
    Fortunately for me, the application only had 10 odd
    classes.And that's why any project that's worth anything has a source control system in place...
    Bad enough to loose a day's (or a few days') work in a harddisk crash, worse to loose manmonths worth due to something like that (or worse, your network being vandalised as happened to a company I worked for once, we had to revert to a 1 month old backup tape, all later tapes had failed).

  • Java Decompiler Code

    Hi,
    im a fresher in java
    im trying to develop my own java decompiler which translates class file to java file ,can anyone help me please how to start and give some guidelines .. wud b really helpful
    looking forward for your support .. thanks !!

    A decompiler is a very advanced project to take on, not for a "fresher".
    1. You must write a disassembler first.
    This involves being able to parse the binary class file, and convert it into java
    byte code instructions.
    As mentioned, the class file format is documented here, and is the sole reference I needed to write a disassembler.
    http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html
    2. After you have the disassembled instructions, you can then try to reassemble
    them into higher level java source code.
    This isn't a trivial project.
    In my free time, I spent ( on and off ), 1 year writing my own disassembler to support Java 1.5, and I haven't even attempted a decompiler ( yet ).
    It has 279 classes, most fairly complex.
    Just to give you an idea of my experience, 7 years java, 5 years C++ and assembly. And you'll need some experience/concepts of assembly language to work out the stack frame to break the java byte code instructions into java statements.
    In my opinion, you're better off experimenting with the BCEL ( byte code engineering lab ), to extract details about the class file.
    regards,
    Owen

  • Java Decompiler Help !

    Well ... I`m working on Java Decompiler Project as my
    College Project.Now, my softare is already decompiling
    simple programs but i`ve got stuck now at decompiling
    characters, short ints & bytes because all of them are
    stored as integers according to JVM Specification.
    Simply,
    These 2 Statements :-
    int a=97;
    AND
    char b='a';
    Result in same set of ByteCode Instructions :-
    bipush 97
    istore_<n>
    Now, how can differentiate between the 2 so that i can
    regenerate the source file ?
    Any help is appreciated !!
    Thx
    Amit

    Hi,
    If you're talking about class variables then the type is in the "Field Info" structure of the class file.
    http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#2877
    If you're talking about local variables, then there's a LocalVariableTable structure, per method which has that information.
    http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#5956
    The localVariableTable information is only available when a java source is compiled with debugging information.
    What I done, when I'd no localvariabletable in the class file, was to create my own dynamic localVariableTable object, and fill in the types based on the operations performed on them, or their operands type.
    I'd use the narrowest data type to start with, and widen it as needed.
    So, in your example, it would guess character, until another operation conflicted with that. It's not bulletproof, but better than nothing.
    regards,
    Owen

  • What features would you like to see in a Java Decompiler?

    Hello all,
    (I'm assuming if you're viewing this thread you use(d) a decompiler for development purposes).
    I'm just about to embark on my final year dissertation for university and I am going to develop a Java decompiler.
    I have researched existing decompilers, e.g. Mocha, DeJaVu etc and have come up with my own feature set, but I was wondering what other Java developers would like to see in a decompiler. e.g. Support for Generics (and other v.5 features)
    So please let me know of anything you would like to see in a decompiler; possible IDEs to plug into, GUI, backwards compatibility, possible plugins, J2EE support, anything at all...
    Thank you for your time.
    Cheers, joe

    Support for DICOM SR, DICOM SEG, and Annotation and Image Markup (AIM) as output formats for the segmentation and reports would be helpful.
    It would also be great to see support for native DICOM files as input rather than needing to convert to one of the other formats you currently accept.

  • Issue with Java Decompiler, please help

    I'm using Mocha to decompile a *.class file from the standard OAF. I'd like to reuse some logic which Oracle has previously developed. I'd like to decompile DetailDataInputCO.class but Mocha errors out with "Ignoring field attribute Synthetic".
    If anyone has a good decompiler, could you please decompile a class file for me. Please contact me at [email protected] and I can send you the file. It would be greatly appreciated.
    Thanks,
    -Scott

    // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
    // Jad home page: http://www.kpdus.com/jad.html
    // Decompiler options: packimports(3)
    // Source File Name: DetailDataInputCO.java
    package oracle.apps.ap.oie.webui;
    import com.sun.java.util.collections.HashMap;
    import java.io.Serializable;
    import java.util.Vector;
    import oracle.apps.ap.oie.entry.AttendeeRuleUI;
    import oracle.apps.ap.oie.server.DetailAMImpl;
    import oracle.apps.ap.oie.utility.OIEConstants;
    import oracle.apps.ap.oie.utility.OIEUtil;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.flexj.*;
    import oracle.apps.fnd.framework.*;
    import oracle.apps.fnd.framework.webui.*;
    import oracle.apps.fnd.framework.webui.beans.*;
    import oracle.apps.fnd.framework.webui.beans.form.OAChoiceBean;
    import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
    import oracle.apps.fnd.framework.webui.beans.layout.*;
    import oracle.apps.fnd.framework.webui.beans.message.*;
    import oracle.apps.fnd.framework.webui.beans.nav.OANavigationBarBean;
    import oracle.apps.fnd.framework.webui.beans.nav.OAPageButtonBarBean;
    import oracle.apps.fnd.framework.webui.beans.table.*;
    import oracle.cabo.ui.*;
    import oracle.cabo.ui.beans.*;
    import oracle.cabo.ui.beans.form.*;
    import oracle.cabo.ui.beans.layout.*;
    import oracle.cabo.ui.beans.message.MessageStyledTextBean;
    import oracle.cabo.ui.beans.message.MessageTextInputBean;
    import oracle.cabo.ui.beans.nav.NavigationBarBean;
    import oracle.cabo.ui.beans.table.ColumnBean;
    import oracle.cabo.ui.beans.table.TableBean;
    import oracle.jbo.domain.Number;
    // Referenced classes of package oracle.apps.ap.oie.webui:
    // ExpensesCO, NavigationUtility
    public class DetailDataInputCO extends OAControllerImpl
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    if(oapagecontext.isLoggingEnabled(2))
    oapagecontext.writeDiagnostics(this, "start processRequest", 2);
    boolean flag = false;
    super.processRequest(oapagecontext, oawebbean);
    OAApplicationModule oaapplicationmodule = oapagecontext.getRootApplicationModule();
    OAApplicationModule oaapplicationmodule1 = oapagecontext.getApplicationModule(oawebbean);
    String s = (String)oaapplicationmodule.invokeMethod("getMultipleCurrenciesFlag");
    String s1 = (String)oapagecontext.getTransactionValue("ApWebTaxEnable");
    String s2 = (String)oapagecontext.getTransactionValue("PaymentCurrencyCode");
    String s3 = (String)oapagecontext.getTransactionValue("ApWebDescFlexName");
    String s4 = (String)oapagecontext.getTransactionValue("CCPage");
    boolean flag2 = s4 == null || s4.equals("Y");
    boolean flag3 = ((String)oapagecontext.getTransactionValue("IsProjectEnabled")).equals("Y") || ((String)oapagecontext.getTransactionValue("IsProjectEnabled")).equals("R");
    String s5 = (String)oapagecontext.getTransactionValue("ApWebEnableGrantsAccounting");
    boolean flag4 = flag3 && s5 != null && s5.equals("Y");
    boolean flag5 = ((Boolean)oaapplicationmodule.invokeMethod("isVATEnabled")).booleanValue();
    String _tmp = (String)oapagecontext.getTransactionValue("ApWebEnableLineLevelAccounting");
    oapagecontext.getParameter("ButtonLink");
    String s6 = "N";
    oracle.apps.ap.oie.setup.OIESetup.Setup setup = (oracle.apps.ap.oie.setup.OIESetup.Setup)oaapplicationmodule.invokeMethod("getSetup");
    OADescriptiveFlexBean oadescriptiveflexbean = null;
    OAStackLayoutBean oastacklayoutbean = (OAStackLayoutBean)createWebBean(oapagecontext, "STACK_LAYOUT");
    oawebbean.addIndexedChild(oastacklayoutbean);
    OATableLayoutBean oatablelayoutbean = (OATableLayoutBean)createWebBean(oapagecontext, "TABLE_LAYOUT");
    oastacklayoutbean.addIndexedChild(oatablelayoutbean);
    oatablelayoutbean.setWidth("100%");
    OASpacerRowBean oaspacerrowbean = (OASpacerRowBean)createWebBean(oapagecontext, "SPACER_ROW");
    if(flag5)
    OARowLayoutBean oarowlayoutbean = (OARowLayoutBean)createWebBean(oapagecontext, "ROW_LAYOUT");
    oatablelayoutbean.addRowLayout(oarowlayoutbean);
    OACellFormatBean oacellformatbean = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean.addIndexedChild(oacellformatbean);
    OARawTextBean oarawtextbean = (OARawTextBean)createWebBean(oapagecontext, "RAW_TEXT");
    oacellformatbean.addIndexedChild(oarawtextbean);
    oacellformatbean.setHAlign("start");
    oacellformatbean.setColumnSpan(2);
    oarawtextbean.setText(oapagecontext.getMessage("SQLAP", "OIE_MERCHANT_HEADING", new MessageToken[0]));
    oarawtextbean.setStyleClass("OraInstructionText");
    oatablelayoutbean.addIndexedChild(oaspacerrowbean);
    OARowLayoutBean oarowlayoutbean1 = (OARowLayoutBean)createWebBean(oapagecontext, "ROW_LAYOUT");
    oatablelayoutbean.addRowLayout(oarowlayoutbean1);
    OACellFormatBean oacellformatbean1 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean1.addIndexedChild(oacellformatbean1);
    OATableLayoutBean oatablelayoutbean1 = (OATableLayoutBean)createWebBean(oapagecontext, oawebbean, "DRRequiredIconText");
    oacellformatbean1.addIndexedChild(oatablelayoutbean1);
    oatablelayoutbean.addIndexedChild(oaspacerrowbean);
    OARowLayoutBean oarowlayoutbean2 = (OARowLayoutBean)createWebBean(oapagecontext, "ROW_LAYOUT");
    oatablelayoutbean.addRowLayout(oarowlayoutbean2);
    OACellFormatBean oacellformatbean2 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    OACellFormatBean oacellformatbean3 = (OACellFormatBean)createWebBean(oapagecontext, "CELL_FORMAT");
    oarowlayoutbean2.addIndexedChild(oacellformatbean2);
    oarowlayoutbean2.addIndexedChild(oacellformatbean3);
    OATableLayoutBean oatablelayoutbean2 = (OATableLayoutBean)createWebBean(oapagecontext, "TABLE_LAYOUT");
    OATableLayoutBean oatablelayoutbean3 = (OATableLayoutBean)createWebBean(oapagecontext, "TABLE_LAYOUT");
    oacellformatbean2.addIndexedChild(oatablelayoutbean2);
    oacellformatbean2.setVAlign("top");
    oacellformatbean3.addIndexedChild(oatablelayoutbean3);
    oacellformatbean3.setVAlign("top");
    oatablelayoutbean2.addIndexedChild(createWebBean(oapagecontext, oawebbean, "DetailStartDate"));
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean2.addIndexedChild(createWebBean(oapagecontext, oawebbean, "DetailDailyRate"));
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean2.addIndexedChild(createWebBean(oapagecontext, oawebbean, "DetailDays"));
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    if(flag2)
    OAMessageStyledTextBean oamessagestyledtextbean = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailDisplayReceiptAmount");
    oatablelayoutbean2.addIndexedChild(oamessagestyledtextbean);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oamessagestyledtextbean.setText(oamessagestyledtextbean.getText(oapagecontext) != null ? oamessagestyledtextbean.getText(oapagecontext) + " " : "");
    if(oamessagestyledtextbean.getText(oapagecontext) != null && !oamessagestyledtextbean.getText(oapagecontext).equals(""))
    OAStyledTextBean oastyledtextbean = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oastyledtextbean.setViewUsageName("OneReceiptBasedVO");
    oastyledtextbean.setViewAttributeName("ReceiptCurrencyCode");
    oastyledtextbean.setCSSClass("OraDataText");
    oamessagestyledtextbean.setEnd(oastyledtextbean);
    } else
    OAMessageTextInputBean oamessagetextinputbean = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "DetailReceiptAmount");
    oatablelayoutbean2.addIndexedChild(oamessagetextinputbean);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    if(s.equals("N"))
    OAStyledTextBean oastyledtextbean1 = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oastyledtextbean1.setViewUsageName("OneReceiptBasedVO");
    oastyledtextbean1.setViewAttributeName("ReceiptCurrencyCode");
    oastyledtextbean1.setCSSClass("OraDataText");
    oamessagetextinputbean.setEnd(oastyledtextbean1);
    } else
    OAChoiceBean oachoicebean = (OAChoiceBean)createWebBean(oapagecontext, "POPLIST", null, "CurrencyPopList");
    oachoicebean.setViewUsageName("OneReceiptBasedVO");
    oachoicebean.setViewAttributeName("ReceiptCurrencyCode");
    oachoicebean.setPickListViewObjectDefinitionName("oracle.apps.ap.oie.server.CurrenciesVO");
    oachoicebean.setListValueAttribute("CurrencyCode");
    oachoicebean.setListDisplayAttribute("CurrencyCodeName");
    OAStaticStyledTextBean oastaticstyledtextbean = (OAStaticStyledTextBean)createWebBean(oapagecontext, oawebbean, "Currency");
    oachoicebean.setShortDesc(oastaticstyledtextbean.getLabel());
    oamessagetextinputbean.setEnd(oachoicebean);
    if(flag2 || s.equals("N"))
    OAMessageStyledTextBean oamessagestyledtextbean1 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailDisplayExchRate");
    oatablelayoutbean2.addIndexedChild(oamessagestyledtextbean1);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    } else
    OAMessageTextInputBean oamessagetextinputbean1 = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "DetailExchRate");
    oatablelayoutbean2.addIndexedChild(oamessagetextinputbean1);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oamessagetextinputbean1.setRequired("yes");
    OAMessageStyledTextBean oamessagestyledtextbean2 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailReimbursAmt");
    oatablelayoutbean2.addIndexedChild(oamessagestyledtextbean2);
    if(oamessagestyledtextbean2.getText(oapagecontext) != null)
    oamessagestyledtextbean2.setText(oamessagestyledtextbean2.getText(oapagecontext) + " " + s2);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    OAMessageCheckBoxBean oamessagecheckboxbean = (OAMessageCheckBoxBean)createWebBean(oapagecontext, oawebbean, "DetailReceiptMissing");
    oatablelayoutbean2.addIndexedChild(oamessagecheckboxbean);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    Integer integer = (Integer)oaapplicationmodule.invokeMethod("getNumberOfTaxCodes");
    String s7 = (String)oaapplicationmodule1.invokeMethod("getTaxCodeUpdateable");
    OAWebBeanDataAttribute oawebbeandataattribute;
    if(s7 == null || s7.equals("Y"))
    oawebbeandataattribute = (OAWebBeanDataAttribute)createWebBean(oapagecontext, oawebbean, "DetailTaxCode");
    else
    oawebbeandataattribute = (OAWebBeanDataAttribute)createWebBean(oapagecontext, oawebbean, "DetailTaxCodeDisplay");
    OAMessageCheckBoxBean oamessagecheckboxbean1 = (OAMessageCheckBoxBean)createWebBean(oapagecontext, oawebbean, "DetailAmtInclTax");
    if(s1 != null && s1.equals("Y") && integer.intValue() > 0)
    oatablelayoutbean2.addIndexedChild(oamessagecheckboxbean1);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean2.addIndexedChild(oawebbeandataattribute);
    oatablelayoutbean2.addIndexedChild(oaspacerrowbean);
    String s8 = (String)oaapplicationmodule1.invokeMethod("getExpTypeWebPrompt");
    Object obj = null;
    Object obj1 = null;
    Boolean boolean1 = (Boolean)oaapplicationmodule1.invokeMethod("isExpTypeInPoplist");
    if(flag4 && !boolean1.booleanValue())
    oaapplicationmodule1.invokeMethod("resetWebParameterId");
    String s11 = (String)oaapplicationmodule1.invokeMethod("getAwardNumber");
    MessageToken amessagetoken[] = {
    new MessageToken("EXP_TYPE", s8), new MessageToken("AWARD_NUM", s11 != null ? s11 : "")
    OAException oaexception = new OAException("SQLAP", "OIE_DEFAULT_EXPENDITURE_TYPE", amessagetoken, (byte)1, null);
    oaexception.setApplicationModule(oaapplicationmodule1);
    oapagecontext.putDialogMessage(oaexception);
    OAMessageLovInputBean oamessagelovinputbean = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "DetailProjectNumber");
    OAMessageLovInputBean oamessagelovinputbean1 = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "DetailTaskNumber");
    if(flag3)
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean1);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    String s12 = (String)oaapplicationmodule1.invokeMethod("getProjectNumber");
    if(s12 != null)
    oamessagelovinputbean1.setRequired("yes");
    else
    oamessagelovinputbean1.setRequired("no");
    if(flag4)
    OAMessageLovInputBean oamessagelovinputbean2 = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "DetailAwardNumber");
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean2);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    oatablelayoutbean3.addIndexedChild(createWebBean(oapagecontext, oawebbean, "RBWebParam"));
    if(s3 != null && ("Y".equals(s3) || "B".equals(s3)))
    oadescriptiveflexbean = (OADescriptiveFlexBean)createWebBean(oapagecontext, oawebbean, "DetailFlex");
    oatablelayoutbean3.addIndexedChild(oadescriptiveflexbean);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    if(flag4)
    OAStyledTextBean oastyledtextbean2 = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oatablelayoutbean3.addIndexedChild(oastyledtextbean2);
    String s9 = oapagecontext.getMessage("SQLAP", "OIE_EXPENDITURE_TYPE_TIP", null);
    oastyledtextbean2.setText(oapagecontext, s9);
    oastyledtextbean2.setStyleClass("OraInlineInfoText");
    OAWebBeanDataAttribute oawebbeandataattribute1 = null;
    if(oapagecontext.getParameter("_FORMEVENT") == null || !oapagecontext.getParameter("_FORMEVENT").startsWith("FLEX_CONTEXT_CHANGED"))
    if(!boolean1.booleanValue() && s8 != null)
    oadescriptiveflexbean.setFlexContext(oapagecontext, null);
    Serializable aserializable[] = {
    null
    oapagecontext.getApplicationModule(oawebbean).invokeMethod("onChangeExpenseDFFContext", aserializable);
    } else
    oadescriptiveflexbean.setFlexContext(oapagecontext, s8);
    oadescriptiveflexbean.processFlex(oapagecontext);
    oawebbeandataattribute1 = (OAWebBeanDataAttribute)oadescriptiveflexbean.getIndexedChild(null, 0);
    oadescriptiveflexbean.setFlexTableRendered(false);
    oatablelayoutbean3.addIndexedChild(oawebbeandataattribute1);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    if(!boolean1.booleanValue() && s8 != null)
    oawebbeandataattribute1.setRequired("no");
    else
    oawebbeandataattribute1.setRequired("yes");
    DescriptiveFlexfield descriptiveflexfield = (DescriptiveFlexfield)oadescriptiveflexbean.getAttributeValue(OAWebBeanConstants.FLEXFIELD_REFERENCE);
    int i = descriptiveflexfield.indexOfContextSegment();
    if(oapagecontext.getParameter("_FORMEVENT") != null && oapagecontext.getParameter("_FORMEVENT").startsWith("FLEX_CONTEXT_CHANGED"))
    String s14 = descriptiveflexfield.getSegment(i).getValue().getDisplay();
    Serializable aserializable2[] = {
    s14
    oapagecontext.getApplicationModule(oawebbean).invokeMethod("onChangeExpenseDFFContext", aserializable2);
    } else
    OAMessageChoiceBean oamessagechoicebean = (OAMessageChoiceBean)createWebBean(oapagecontext, oawebbean, "DetailExpType");
    oatablelayoutbean3.addIndexedChild(oamessagechoicebean);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    oamessagechoicebean.setPickListViewUsageName("DetailExpenseTypesVO");
    if(flag4)
    OAStyledTextBean oastyledtextbean3 = (OAStyledTextBean)createWebBean(oapagecontext, "TEXT");
    oatablelayoutbean3.addIndexedChild(oastyledtextbean3);
    String s10 = oapagecontext.getMessage("SQLAP", "OIE_EXPENDITURE_TYPE_TIP", null);
    oastyledtextbean3.setText(oapagecontext, s10);
    oastyledtextbean3.setStyleClass("OraInlineInfoText");
    if(flag3)
    String s13 = (String)oaapplicationmodule1.invokeMethod("getExpenditureType");
    boolean flag7 = ((String)oapagecontext.getTransactionValue("IsProjectEnabled")).equals("R") && s13 != null;
    if(flag7)
    oamessagelovinputbean.setRequired("yes");
    oamessagelovinputbean1.setRequired("yes");
    boolean flag6 = ((Boolean)oaapplicationmodule1.invokeMethod("isLocationSchedule")).booleanValue();
    boolean flag8 = flag5 || flag6;
    if(setup.getReceiptBasedLocation() != null)
    flag8 = setup.getReceiptBasedLocation().booleanValue() || flag8;
    if(flag8)
    if(flag6 || flag5)
    OAMessageLovInputBean oamessagelovinputbean3 = (OAMessageLovInputBean)createWebBean(oapagecontext, oawebbean, "LocationName");
    oatablelayoutbean3.addIndexedChild(oamessagelovinputbean3);
    oamessagelovinputbean3.setRequired("yes");
    oatablelayoutbean3.addIndexedChild(createWebBean(oapagecontext, oawebbean, "LocationId"));
    } else
    OAMessageTextInputBean oamessagetextinputbean2 = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "RBLocation");
    oatablelayoutbean3.addIndexedChild(oamessagetextinputbean2);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    if(flag2)
    OAMessageStyledTextBean oamessagestyledtextbean3 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "TransactionLocation");
    oatablelayoutbean3.addIndexedChild(oamessagestyledtextbean3);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    Object obj2 = null;
    Object obj3 = null;
    String s17 = null;
    if((OAMessageTextInputBean)oawebbean.findIndexedChildRecursive("RBLocation") != null)
    OAMessageTextInputBean oamessagetextinputbean5 = (OAMessageTextInputBean)oawebbean.findIndexedChildRecursive("RBLocation");
    s17 = (String)oamessagetextinputbean5.getValue(oapagecontext);
    } else
    if((OAMessageLovInputBean)oawebbean.findIndexedChildRecursive("LocationName") != null)
    OAMessageLovInputBean oamessagelovinputbean4 = (OAMessageLovInputBean)oawebbean.findIndexedChildRecursive("LocationName");
    s17 = (String)oamessagelovinputbean4.getValue(oapagecontext);
    OAMessageStyledTextBean oamessagestyledtextbean5 = (OAMessageStyledTextBean)oawebbean.findIndexedChildRecursive("TransactionLocation");
    String s19 = (String)oaapplicationmodule1.invokeMethod("getTransactionLocation");
    if(s19 != null && !s19.equalsIgnoreCase(s17))
    oamessagestyledtextbean5.setValue(oapagecontext, s19);
    oamessagestyledtextbean3.setRendered(true);
    boolean flag1 = true;
    } else
    oamessagestyledtextbean3.setRendered(false);
    if(flag2)
    OAMessageStyledTextBean oamessagestyledtextbean4 = (OAMessageStyledTextBean)createWebBean(oapagecontext, oawebbean, "DetailDisplayMerchantName");
    oatablelayoutbean3.addIndexedChild(oamessagestyledtextbean4);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    } else
    OAMessageTextInputBean oamessagetextinputbean3 = (OAMessageTextInputBean)createWebBean(oapagecontext, oawebbean, "DetailMerchantName");
    Serializable aserializable1[] = {
    getLocationId(oapagecontext, oawebbean)
    Class aclass[] = {
    oracle.jbo.domain.Number.class
    if(((Boolean)oaapplicationmodule1.invokeMethod("isMerchantRequired", aserializable1, aclass)).booleanValue())
    oamessagetextinputbean3.setRequired("yes");
    oatablelayoutbean3.addIndexedChild(oamessagetextinputbean3);
    oatablelayoutbean3.addIndexedChild(oaspacerrowbean);
    }

  • Sun recommended Java EE project directory structure?

    Hello,
    It's said that there's a Java EE project directory structure recommended by Sun.
    How to get it?
    I find a link as following,
    http://java.sun.com/blueprints/code/projectconventions.html
    The article is my want? Thanks!
    a cup of Java, cheers!
    Sha Jiang

    I got this worked out.

  • Recommend Java UML modelling tool?

    Hi, based on your experience with UML tools (capable of modelling Java), what are ones that have a similar interface on both Windows and Linux?
    I'd like to start using a UML tool as I learn Java, and I use both Windows and Linux, so I'm hoping to find one that you recommend and that has a similar interface on both systems, so that it's easy to switch back and forth between systems.
    Any recommendations based on your past experience?
    Thank you.

    Thanks for the response, I'll check that out.
    On this topic of similar interface for Windows and
    Linux, could I also ask a question about Eclipse?
    I'm a beginner programmer, and I'd like to learn
    Eclipse sometime. If I learn it using Windows then
    one day switch to Linux, will I miss a beat at all in
    terms of the interface of Eclipse -- will all my
    efforts to learn on Windows carry over to Linux?
    (Never used it before, so if it sounds like a dumb
    question, that's probably cuz it is.)
    Thanks!Eclipse runs the same on both platforms. So does netbeans, jGrasp, etc, etc, etc.
    But from what I've heard, you should use a text editor or minimalistic IDE to learn. Which seems like the route you're going anyway.
    ~Cheers

  • Pure Java Decompiler

    Is there a good, free decompiler that is written in Java? If not, is there a reason? I'd like to be able to decompile/compile code directly from my running java code, and using Jad and javac is pretty clumsy for that.
    I know there are some clumsy and unsupported workarounds for compiling code from java, but it really seems strange that there isn't a standard API for that...

    Sorry i don't know the answer for your problem. Though let me mention that javac isn't pure Java anyway - it doesn't adhere to the JLS (the Java Language Specification) completely, whereas - for example - jikes is 100% JLS compliant.

  • Recommend Java Programmer Book

    Since I'm the beginner of Java Programming, does any recommend
    books are suitable for me ?
    Thank you for your attention.
    Regards,
    Michael
    [email protected]
    null

    'Thinking in Java' comes with JDeveloper 2.0 in a pdf
    format. Or, you can download it from www.bruceeckels.com
    for free. I've had others recommended to me but I'm about
    20% into this one, and the price is right. You can also
    get the Java Tutorial at www.sun.com.
    : Since I'm the beginner of Java Programming, does any recommend
    : books are suitable for me ?
    null

  • Please recommend Java development package..?

    Hi all,
    I'm new here, and would like your recommendation on a development package. Currently I write all my Java in a UNIX editor, and "println" is my debugger. ;-)
    I want to "upgrade" to a nice graphical editor w/ drag-n-drop, lots of good online documentation and an excellent debugger. Probably will go w/ Windows, but maybe Linux. I'm not doing servlets or applets or anything like that - just applications w/ basic Swing, w/ vast amounts of file/socket I/O and data crunching.
    Would greatly appreciate your recommendations for a moderately-priced package, like maybe JBuilder Pro?
    Many thanks, -tm

    I have gown quite fond of the Eclipse IDE and it is supported on Linux, WIndows platforms. Oh, and its free. Choose the v2.0 Stable build (beta) from www.eclipse.org.
    Or, look into Forte for Java Community Edition (also free). It is quite good, but I have found it unusable on remote X terminals due to Swing whereas Eclipse still performs quite well on both local and remote X terms.
    Many folks I know on Unix and Windows platforms live life quite well with their favorite editor (xemacs, vi, TextPad, whatever) and JDB. Many live with no debugger and I too have had to get by that way as well. It works for me too.
    Chuck

Maybe you are looking for

  • Print PDF file using Acrobat SDK - Warning message

    Hello, We are trying to create automatic program in c# that will print all pdf files located in a specific folder, using Adobe Acrobat 9.0 SDK. Whenever the application tries to print file, we receive a warning message ("WARNING! A script has request

  • Solaris 10 SPARC: Can I build update9-compatible binaries on update 10

    Hi, I have a Sun 10 u10 with gcc v3.4.3. I am looking for a way to build my application so that it can be run on u9. My application is written in C/C++. Is there a way to tell cc and gcc to make the binary u9-compatible? Or is there a way to have a u

  • Bid approval workflow - adding approvers

    Hi experts - We are implementing the n-level bid award approval workflow (WS14500044).  We would like the approvers to be able to add approvers/users once the workflow has started. We can see that you can add approvers before the bid is awarded (ie:

  • SQL*Loader-350 Error

    I got a SQL*Loader-350 error due to a FILLER statement in my control file. I have known the cause is Concurrent Manager uses SQL*Loader 8.0.6 and the FILLER option is available from 8.1.7. The e-Business Suite version is 11.5.0. May I upgrade SQL*Loa

  • Illustrator CS4 (W7x64) crash on save pdf as non-admin

    Dear AI users, I have an annoying issue with AI CS4 (Design premium package) on a Windows 7 (64bit) platform. Every time I try to save a file in the pdf format as non-administrator, the program freezes/crashes before the pdf-export dialogue. Does any