Extending standard doclet by subclassing: impossible?

Hi,
I'd like to extend the standard html doclet so that a class diagram appears just below the class name in every doc file.
I want to do that for an open source project, so I have to do it in a way that allows the redistribution of the doclet.
As far as I understand the licence, I can do that only by subclassing (because using the standard doclet source would prevent redistribution, right?).
Problem is, the standard doclet in 1.5.0 has been designed so that it's almost impossible to extend by subclassing, because many classes have private constructors.
I just need to add a link after the html generated by ClassBuilder.buildClassHeader(), but I cannot subclass HTMLDoclet because I would incur in the check AbstractDoclet.isValidDoclet(), and there's no way to change the HTMLDoclet configuration neither.
In the FAQ (http://java.sun.com/j2se/javadoc/faq/index.html#sourcedoclet) you suggest that the preferred way to extend the standard doclet is by subclassing, but in my opinion you made every step to make it impossible in practice.
Is there any way to achieve my goal, besides rewriting the whole doclet? (which would be not practical, it's an open source project and I'm working in my spare time).

I don't share your vision of open sourceI would love to share your vision too. But the economics reality defies it! All we could do about that is just to understand the truth and to adapt to it (like engineers understand the physics and make the aircraft fly -- the thing seemingly to be impossible).
If you really want to implement your new ideas, you won't be able to do it in your spare time... you will need huge a lot of resources for doing that. But who will pay you? A guy with money would never give you a cent without looking at his own benefits... Be sure!
I'd simply buy yDocI know those guys quite enough... and that's exactly an example of a very much closed up company. We, on the contrary to them, are just looking forward for any integrations with the outside world !
But anyway, thank you for your offer :-) Well. If you are able to program the generation of the diagrams like yDoc does, DocFlex/Javadoc will be free for you! We just don't have time to do that ourselves. We could provide you a partner license. There's an DocFlex Open API (not published yet, but it's coming just soon). You can create you integration that generates those diagrams and insert them into the generated docs using your templates (all you would need is just to adapt the existing ones!), and then use/redistribute the whole thing together with the freeware DocFlex/Doclet engine as you like, in the open-source form or not. Everything you would have developed by yourself is yours!
Regards,
Leonid Rudy
http://www.docflex.com

Similar Messages

  • Subclassing standard doclet in version 1.4

    I have a modified version of the standard doclet from 1.3.1. I'm trying to transfer the functionality from this doclet to a subclass of the 1.4.1 standard doclet. My modified Standard.java contains the following method:
    public static ConfigurationExcluderDoclet configuration() {
    if (HtmlDocWriter.configuration == null) {
    HtmlDocWriter.configuration = new ConfigurationExcluderDoclet();
    return (ConfigurationExcluderDoclet)(HtmlDocWriter.configuration);
    This won't work in 1.4.1 as the variable "configuration" in HtmlWriter has been modified to protected access only. Is there a workaround for this so that I can still pass my configuration instance?
    Thanks,
    Linda Howard

    Hi Linda,
    Just delete the code below and replace with "return new ConfigurationExcluderDoclet();". There is absolutely no need to initialize HtmlDocWriter.configuration in your configuration() method. This field is now initialized in the constructor, as it should be. If you need to access the configuration in your doclet, use Standard.configuration, not HtmlDocWriter.configuration. Your doclet should inherit the configuration from class Standard.
    -Jamie Ho

  • How to maintain standard doclet's Javadoc options in custom doclet?

    I'm having some difficulties with a custom doclet. I've simply subclassed some of the standard doclet classes to do some custom html output (basically wrapping the output in the headers/footers/navigation of our department intranet). I want to use the standard doclet's configuration and a few of the standard doclet's Javadoc options (-nonavbar and -stylesheetfile, for example). I did not subclass ConfigurationStandard.java because I had no changes that I wanted to make to it. I'm not adding any new tags or command line options, but shouldn't I be able to use the standard doclet's command line options since I'm importing com.sun.tools.doclets.standard.*?

    Does your main doclet class (which has the start(RootDoc method)) also contain the optionLength and validOptions method.
    Check this url for more info http://java.sun.com/j2se/1.3/docs/tooldocs/javadoc/overview.html
    If you are just supporitng the standard doclet optiosn then you can implement these methods in ur doclet and internally call the corresponding methods of the standard doclet to get things done.
    public static int optionLength(String option) {
        return Standard.optionLength(option);
    public static boolean validOptions(String options[][],  DocErrorReporter reporter) {
        return Standard.validOptions(options, reporter);
    }Hope it helps

  • Extend standard class CL_CRM_BSP_AM_CM_1O

    Hi all
    I need to extend the standard class CL_CRM_BSP_AM_CM_1O. The class is
    defined "Final" so it's impossible to extend.
    I'm thinking on changing the class type. Is this a good solution? Which are the consequences if I change the class type?                             
    If this is not the right way, how could I extend standard class CL_CRM_BSP_AM_CM_1O?
    Thanks in advance
    Joaquin

    Hello Joaquin
      I would have used one of the following two approaches:
    1. Opened an OSS message and asked SAP to remove the final flag. They have done that in the past when I requested them to.
    2. Do a modification to standard remove the final flag and go ahead by using the standard class as a super class.
    Infact I would do step 1 first and then step 2. Because even if SAP releases a note you have to implement the note manually which is as good as doing a modification to standard.
    Thanks and regards,
    Murli Rao

  • Problem extending standard ViewReceiptsSearchVO view object with logic on get method

    Hi All,
    EBS 12.1.3
    Database 11.2.0.3
    I am trying to extend the 3 VOs related to ViewReceiptsSearch.  I extended a seeded ViewReceiptsSearchVO view object.  I haven't made any changes yet, no columns added, nothing altered.  When I run this substitution, the "Received" column is null.  This column in the view used for the view object only selects NULL and uses the getter method for the attribute to populate the value.  The generated extension getter calls getAttributeInternal and skips the logic in the standard getter and the substituted view object is displaying the null in the screen.  The below discussion explains the problem very well except that the original posted had the issue in 11.5.10.2.  I am having this issue with 12.1.3.
    Problem extending standard view object with logic on get method
    The 3 VOs that I am having the problem are:
    ViewReceiptsSearchVO
    ViewReceiptsSearchReqVO
    ViewReceiptsSearchSupplierVO
    What do I need to do to get the "Received" column populated?  Please let me know any additional information you want to troubleshoot the issue.
    Thanks.

    Hi,
    Can you Please Share Extended ViewReceiptsSearchVO.xml and .jpx File?
    Thanks,
    Dilip

  • Documentation of Doclet Spec and Standard Doclet

    I'm trying to modify the standard doclet to incorporate some web-based material appropriate for a project I'm working on. I successfully created a taglet to process the new tag I wanted to introduce and went on to make this taglet a part of a doclet. As I'm trying to work through the next steps, I'm unable to find much documentation around the doclet spec and the standard doclet. For example (and this is just one example - it's not the specific problem I'm trying to solve), the documentation of the setRawCommentText method doesn't indicate anything about how to use the method.
    Does anyone know of anywhere that there's better documentation of the doclet standard and the standard doclet itself?

    I know that there isn't anything more other than the source code, but I did a lot of work on a doclet several years ago and I didn't have any trouble with the documentation. Don't ask me anything about it now!

  • Modifying the standard doclet

    Hi,
    I have a requirement of adding a link in the header section of javadocs, that necessitates a modification to the standard doclet.
    The problem is elementary - how do I get started? I could not locate the com.sun.tools.doclets package in the jsdk 1.4.1_02. Even after decompressing the source files in the jsdk, the directory structure i get does not have "tools". Is this package downloadable separately? If yes, please guide me to the location.
    Then once, when I am through making the changes, where do I place the modified class files?
    Any help will be great for me.
    Thanks and regards
    Manu

    Hi Jamie,
    Thank you for your reply: I found the site and downloaded the file:
    j2sdk-1_4_0-src-scsl.zip
    But I could not find the doclet classes in them... Perhaps I am not looking at the correct place?
    I also downloaded another set of source files, j2sdk-sec-1_4_1-src-scsl.zip, and also expanded the source files zip, src.zip, that is bundled with the JSDK. These also did not have the doclet classes.
    It seems a simple problem and I am surprised how difficult I am finding it to locate the files! :-)
    Regards,
    Manu

  • Getting error when trying to extend standard VO with transient attributes

    Hello,
    I am trying to extend the standard VO ReqSummaryVO in iprocurement module and getting the error "Each Row in the Query Result Columns must be mapped to a unique Query Attribute in the mapped entity columns" at step 4. This VO has a lot of transient attributes. I have gone through solutions from other threads related to this error but none of them worked for me. Can someone help me on this please?
    Thanks,
    Girish.

    Hello,
    I am trying to extend the standard VO ReqSummaryVO in iprocurement module and getting the error "Each Row in the Query Result Columns must be mapped to a unique Query Attribute in the mapped entity columns" at step 4. This VO has a lot of transient attributes. I have gone through solutions from other threads related to this error but none of them worked for me. Can someone help me on this please?
    Thanks,
    Girish.

  • Extend standard web service for custom BO

    Hello Experts,
    I have a requirement where I have created a custom BO with some custom fields and added its embedded component as a new tab on the Lead TI.
    Now we want to integrate these custom fields to the standard lead web service to replicate these custom fields into the backend CRM system.
    I tried for Process Extension Scenario but it only works for the fields added to the extended bo. Could you please suggest on how this could be achieved.
    Thanks and Regards,
    Sumeet Narang

    Hi Sumeet,
    In your scenario if you have only add extension fields in your case use the below steps to achieve it.
    1) Open Screen in HTML5 mode using admin user.
    2) Go to Adapt -> Edit Master Layout.
    3) Select the Tab and click on Plus sign and on top 1 ore sign beside the Input box.
    4) Enter Your new tab name and click on sign and Apply.
    5) Now Select the newly created Tab (Do not exit from the Adapt mode) under the section you have option to "Add Section" , "Add Field", "Add Mashups".
    6) Now come out of the adapt mode and again go to the adapt mode and edit the Header and click "Add New Field" in header section of the screen .
    7) After creating the New Field select "Save and Open" or "Field Definition" option to add those fields under respective Services.
    8) Now go to your newly created Tab and drag and drop your custom fields from Header section to New tab.
    9) Now download the updated web services and check if those fields available or not
    Regards,
    Mithun

  • Extending JFrame to a subclass and testing it

    I am following an example in my textbook that goes like this:
    package project2;
    import javax.swing.JFrame;
    class PracticeWithJFrame2 extends JFrame
         private static final int FRAME_WIDTH=300;
         private static final int FRAME_HEIGHT=200;
         private static final int FRAME_X_ORIGIN=150;
         private static final int FRAME_Y_ORIGIN=250;
         public PracticeWithJFrame2()
              // set the frame default properties
              setTitle("My First Subclass");
              setSize(FRAME_WIDTH, FRAME_HEIGHT);
              setLocation(FRAME_X_ORIGIN,FRAME_Y_ORIGIN);
              // register 'Exit upon closing' as a default close operation
              setDefaultCloseOperation(EXIT_ON_CLOSE);
    }in the testing class:
    package project2;
    class TestPracticeJFrameClass {
          * @param args
         public static void main(String[] args) {
              PracticeWithJFrame2 myFrame;
              myFrame = new PracticeWithJFrame2();
              myFrame.setVisible(true);
    }2 errors are ocurring:
    1) Multiple markers at this line
         - The serializable class PracticeWithJFrame2 does not declare a static final
          serialVersionUID field of type long
         - The type PracticeWithJFrame2 is already defined2) the test case brings up a JFrame window, but it is basically an empty window, it didn't take on the values the constructor set for it.
    Thanks for some debugging help

    I'll get back to you in a moment, in the meantime I've got a work around solution. I did the testing/application in a single class, by calling the constructor in the main method:
    package project2;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    class Ch14JButtonEvents extends JFrame
         private static final int FRAME_WIDTH=300;
         private static final int FRAME_HEIGHT=200;
         private static final int FRAME_X_ORIGIN=150;
         private static final int FRAME_Y_ORIGIN=250;
         private static final int BUTTON_WIDTH=80;
         private static final int BUTTON_HEIGHT=30;
         private JButton cancelButton;
         private JButton okButton;
         public static void main(String[] args)
              PracticeWithJButton frame = new PracticeWithJButton();
              frame.setVisible(true);
         public Ch14JButtonEvents()
              Container contentPane = getContentPane();
              // set the frame default properties
              setTitle("Program PracticeWithJButton");
              setResizable(false);
              setSize(FRAME_WIDTH, FRAME_HEIGHT);
              setLocation(FRAME_X_ORIGIN,FRAME_Y_ORIGIN);
              // set the layout manager
              contentPane.setLayout(new FlowLayout());
              // create and place two buttons on the frame's content pane
              okButton = new JButton("OK");
              okButton.setSize(BUTTON_WIDTH, BUTTON_HEIGHT);
              contentPane.add(okButton);
              cancelButton = new JButton("CANCEL");
              cancelButton.setSize(BUTTON_WIDTH, BUTTON_HEIGHT);
              contentPane.add(cancelButton);
              // register 'Exit upon closing' as a default close operation
              setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

  • Extending Standard account Fact Sheet with Custom BO fields

    I have created one custom BO with 2 free text fields. The fields are embedded in the standard account screen in a new tab.
    The custom fields have to be available in the account summary fact sheet as well.
    BO Definition:
    [AlternativeKey] element AccountID: apCommonGDT:BusinessPartnerInternalID;
    node Note1[1,1]
      element ID:ID;
      [DependentObject(TextCollection)] node FIELD1;
    node Note2[1,1]
      element ID:ID;
      [DependentObject(TextCollection)] node FIELD2;
    Is it possible to extend the standard fact sheet with these custom BO fields ?

    Hello Surajit,
    If you need a field to store string of big length, you can use LANGUAGEINDEPENDENT_Text. Have you tried that already? This data type doesn't have any length restriction.
    Thanks & Regards,
    Meghna

  • Stale data error while updating record on extending standard OAF pages

    We are on Oracle R12. I have a standard oracle shipped page to enter attributes of an inventory item. This page has an APPLY and CANCEL buttons to post the changes to DB. There is one attribute called FORMULA. To create a formula , I created a new custom page.
    I added a custom controller and AM to the standard page and added a new button, "Create Formula" . When the user clicks this button, he can navigate to the new custom page and create a formula. When the user clicks APPLY on this new page, I am navigating him back to the original page , looping through the Entity Object of that page and setting the formula attribute using method
    EO.SetATTRIBUTE.
    This works fine the first time. Then I click the apply button on the original page, the change is saved on teh DB. Now if I click the formula button again and try to modify the formula, on returning to the original page, the formula is updated but I also get the following error :
    Unable to perform transaction on the record.
    Cause: The record contains stale data. The record has been modified by another user.
    Action: Cancel the transaction and re-query the record to get the new data.
    I tried getTransaction().setClearCacheOnCommit(true); after the setattribute but I still get this error . Not sure why this is happening, what I need to do.
    Please help . I did not modify any oracle shipped VOs or EOs.
    thanks
    Satya

    you can also release transaction by using
    pageContext.releaseRootApplicationModule();
    --Prasanna                                                                                                                                                                                                       

  • Customizing Standard Javadoc Doclet

    I am currently experiencing problems extending the Standard Doclet and
    getting the desired output that I want. I have created a custom
    implementation of RootDoc creating the correct program structure for my
    SDK documentation filtering out classes and methods that I do not want
    to see. However when I extend com.sun.tools.doclets.standard.Standard
    and implement the run method the final output is showing classes and
    methods that do not live in my RootDoc. How is this possible? Is the
    Standard doc using introspection to ignore my filtered RootDoc and find
    all methods and classes? Any assistance would be greatly appreciated.

    Hi,
    Most of the Consultants will do the following mistak.
    They simply create transformations in BI 7 in between InfoSource/DataSource to InfoCube, and they didn't even think about the standard functionalities of the Routines in between InfoSource and InfoCube.
    First create Update rules i.e. BW 3.5 flow, then check you can find lots of routines in Update rules, so check all routines in update rules then migrate it to BI 7 flow and use, this is my personal experience. Chekc each and every maping there are some wrong mappings in standard BC, so see teh following SAP Notes an dcorrect it.
    You must gothrough the following SAP notes before you are using 0SD_C03 and LO DataSources for SD
    Note 337432 - Update rules for 0SD_C10  2LIS_11_VAITM incorrect.pdf
    Note 938898 - 2LIS_11_VAKON Incomplete update.pdf
    Note 352623 - BW Content SD Incorrect mapping for VKORG, VTWEG.pdf
    Note 970815 - Online documentation for InfoSource 2LIS_11_VAITM.pdf
    Note 847883 - Error in the transfer rules of 0SALESORG 0DISTR_CHAN.pdf
    Note 948791 - SD content incorrect use of net price (0NET_PRICE).pdf
    Note 354805 - BW Content SD Incorrect mapping for SPARA, SPART.pdf
    Note 166996 - BW InfoCube 0SD_C03 incorrect incoming order qty.pdf
    Note 136605 - Update of the open sales order value in the BW.pdf
    Note 365922 - Incorrect update of value-only items in billing document.pdf
    Note 423561 - BW extraction SD Document data Appl. 11, 12 or 13 are missi.pdf
    Note 428294 - Composite SAP note Logistics Extractn PI 2001.1 & PI 2001.2.pdf
    Note 445021 - BW Cont. SD Values from invoices incorrectly converted.pdf
    Note 539145 - Incorrect results when updating from ODS objects.pdf
    Note 750172 - Incorrect note in documentation for condition extractors.pdf
    Thanks
    Reddy

  • Extending Expert Query VO but Query doesn't display in standard VO

    I need to add a new attribute to an export query VO (oracle.apps.icx.por.reqmgmt.server.GroupReqsPublicVO), but when I edit the standard VO in JDeveloper the existing query doesn't display (query is blank and no attributes are listed). I can get the query from the xml file, but does this mean there is a problem? Should I just copy the query from the xml file and use that?

    All of the info is in the standard VO xml file (ie query, attributes, etc), but when I choose Edit VO ... in JDev nothing is displayed. A similar standard VO (slightly different query) appears fine in JDev - query and attributes displayed.
    I ended up trying the following, which appears to be working (although I am still waiting on some test data from the users):
    Create new VO, extending standard
    Copied the query from standard VO xml file
    This left me with all of the queried attributes, but none of the transient attributes.
    I tried to copy the additional attributes from the standard VO xml file to the extending VO xml file in JDev, but the extending VO xml file is protected.
    Then I closed JDev, manually edited the extending VO xml file to include the additional transient attributes that are in the standard VO xml file.
    Whether it was related or not, but when rebuilding my project, it complained that it couldn't find the standard VO's Impl java file, so I decompiled the class file to produce that.

  • Standard XSLT for Java(XML) Doclet

    I've just found "Java Doclet" <http://wwws.sun.com/software/xml/developers/doclet> for generating XML documentation from Java source code files rather than generating HTML. It is just what I want because I can easily create customized HTML versions out of the XML using XSLT sheet.
    I've wondered if there's available an XSLT for generating standard HTML just like the output of the standard doclet, to use as starting point for modifications?

    BTW, the closest thing I can think of is xmlroff which uses the output of this
    XML doclet to produce PDF (without cross-reference links, I believe)
    http://xmlroff.sourceforge.net/
    See the Javadoc example:
    http://xmlroff.sourceforge.net/examples/javadoc/index.html
    The source is at sourceforge:
    http://sourceforge.net/projects/xmlroff/
    Also now available on SourceForge is the related PangoPDF project at
    http://pangopdf.sourceforge.net/
    and
    http://sourceforge.net/projects/pangopdf/
    Please let me know what you think of these.
    -Doug Kramer

Maybe you are looking for

  • Close, new, back, forward icons are not shown

    Close, new, back, forward icons in firefox are not shown, so it makes difficult to use firefox. I am using latest firefox in ubuntu 11.04. Already asked here but no response :( superuser.com/questions/559381/in-firefox-back-tab-close-new-tab-icon-is-

  • 1.5.4 Query Builder Bug?

    I was testing the Query Builder with SQL developer version 1.5.4. It seems to have problems when trying to add the same table twice to the query. Example was to use the employees table from HR schema to create a query showing employees and managers.

  • Calling a url from forms

    Hi! i have created a website using ARCIMS - (if you are not familiar with ARCIMS it is software that is used to create maps) I now want to call URL (website) from a button on my form. I have tried to use web.show_docuement and I am getting errors suc

  • Saving a sequence and all associated files or travel

    I'm working on a project that has 60 separate sequences and would like to save just one of the sequences with all associated files and assets to an external pocket drive. My hope is to be able to leave the main media drive at my workplace (which cont

  • How to create browse button in Oracle Form Builder?

    Hello all I'm learning Oracle Form Builder and i want to create browse button but i don' know how i do I hope u will help me! Thanks all