Private, or rather non-public, package?

For better code organization I would like to split a certain package into two packages. One of them, say 'package abcimpl' would contain implementation code that should not have any 'public' accessor declarations. The other, say 'package abc' provides the interface to the outside world. But as soon as I separate the classes into 'abcimpl' and 'abc', the classes in 'abc' of course don't have access anymore to the classes in 'abcimpl'.
Is there a way to organize this, e.g. by creating 'abcimpl' as a subpackage to 'abc', e.g.
package abc
package abc.impl
and probably calling abc.impl 'private' or something?
Harald.
Edited by: pifpafpuf on 20.12.2008 18:24

pifpafpuf wrote:
Is there a way to organize this, e.g. by creating 'abcimpl' as a subpackage to 'abc', e.g.No.

Similar Messages

  • Question about access non-public class from other package.

    Hi, everyone!
    Suppose class A and class B are in the same java file of package pkg1
    -- A.java. So, A is a public class and B is a non-public class.
    If I want to access class B from another class class C and class
    C is in package pkg2. When compiling, an error occurs indicating
    that class B is not visible to class C.
    So, If I defined serveral classes in one java file and I want to
    access every class from other package. How should I do?
    (I think in one java file, there should be only one public class and
    only the public class can be accessed from other package.)
    Thanks in advance,
    George

    So, If I defined serveral classes in one java file and
    I want to
    access every class from other package. How should I
    do? As you already seem to know, there is at most one public class allowed per source file (at least, with javac and most popular compilers). So if you want more than one public class, you will need to use more than one file...

  • Are there non-public classes in Java SDK?

    Or are ALL classes in all packages of the Java SDK public?
    I have looked in the sources spot checking and didn't find a non public (default) class.
    If all classes are public, why?
    There exists a means in Java language to define a class as default ("class MyClass" instead of "public class MyClass") visibility. So why isn't it used by Java SDK (if this is really true)?

    I dont know what language you're programming in.
    If you don't specify
    public class
    or
    private class
    the class is "protected".
    Read the spec.If you read the spec, you'll see that, with respect to a class:
    (per section 6.6.2) Classes from outside the package the class lives in that extend the class have access to protected members.
    (per section 6.6.5) Classes from outside the package this thing lives in that extend this class do not have access to default members.
    Relevant part of section 6.6.5 (Example: Default-Access Fields, Methods, and Constructors) is:
    If none of the access modifiers public, protected, or private are specified, a class member or constructor is accessible throughout the package that contains the declaration of the class in which the class member is declared, but the class member or constructor is not accessible in any other package.
    This is default access, not protected access
    Lee

  • Non public interfaces

    Non public interfaces are not permitted. But I often want to break out the methods of an interface into sub-interfaces for the sake of (at least) comprehensibility. Ultimately, only the aggregate interface is meant to be exposed, but of course, they are all exposed- Java doesn't permit non-public interfaces.
    E.G. -
    interface Foo extends interface Bar, Baz
    class DefaultFoo implements Foo
    // implementation of Bar and Baz
    of course I could have DefaultFoo just implement Bar and Baz directly, but it's not the point. The point is, I have a good reason
    to want these mini-interfaces... for the sake of comprehension. A Foo is just exactly the combination of Bar and Baz
    and elsewhere a Goo is an implementation of a Bar and Gaz, where Gaz is some other interface.
    So the utility of the interfaces lies in the conceptual cohesion of the abstraction they define, which will never be implemented
    individually, but only in different aggregates.
    What do other people do with this kind of situation?

    Yep, you can do that, but only in classes - no inner interfaces embedded in interfaces, not that that would have helped me in this case !
    I think that generally, problems with scoping and issues involving more flexibility around visibility will be addressed in 7.
    I knew interfaces can be embedded privately in classes, but not that they could be package protected. Just a feature I never had any reason to use I guess or more likely knew and just forgot!
    Sheesh!

  • IllegalAccessError when trying to create a proxy for a non-public interface

    My code proxies a class that extends JDialog. Under Java5 this works fine. However when I switch to Java6 I get a java.lang.IllegalAccessError: class javax.swing.$Proxy3 cannot access its superinterface javax.swing.TransferHandler$HasGetTransferHandler exception.
    I went through debugging my code to find out what went wrong. I created the included test code that shows the problem (and because the real codebase is much too big to include here).
    package javax.swing;
    public class SomePackageInterfaceDefiningClass {
        interface SomeInnerPackageInterface {
    package javax.swing;
    import java.lang.reflect.Proxy;
    import java.util.ArrayList;
    import java.util.Collection;
    import org.apache.commons.lang.ArrayUtils;
    public class NonPublicInterfaceProxyCreator {
        public static void main(String[] args) {
            // This works fine !
            doTest(WindowConstants.class);
            // This also ! The proxy class package is javax.swing as expected
            doTest(SomePackageInterfaceDefiningClass.SomeInnerPackageInterface.class);
            // JDialog implements the package visible interface
            // javax.swing.TransferHandler.HasGetTransferHandler
            Collection<Class<?>> jdInterfaces = new ArrayList<Class<?>>();
            for (Class<?> interfaze : JDialog.class.getInterfaces()) {
                jdInterfaces.add(interfaze);
            Collection<Class<?>> strippedJdialogInterfaces = new ArrayList<Class<?>>(
                    jdInterfaces);
            for (Class<?> interfaze : jdInterfaces) {
                if (interfaze.getName().equalsIgnoreCase(
                        "javax.swing.TransferHandler$HasGetTransferHandler")) {
                    strippedJdialogInterfaces.remove(interfaze);
            // Without the package visible interface it works !
            doTest(strippedJdialogInterfaces.toArray(new Class<?>[0]));
            // With the package visible interface it fails
            doTest(jdInterfaces.toArray(new Class<?>[0]));
        private static void doTest(Class... interfaces) {
            // Class clazz = Proxy.getProxyClass(JDialog.class.getClassLoader(),
            // interfaces);
            Class clazz = Proxy.getProxyClass(Thread.currentThread()
                    .getContextClassLoader(), interfaces);
            System.out.println("Class created = " + clazz
                    + " >>>> Implemented interfaces = "
                    + ArrayUtils.toString(clazz.getInterfaces()));
    }When I run this code under Java5 I get:
    Class created = class $Proxy0 >>>> Implemented interfaces = {interface javax.swing.WindowConstants}
    Class created = class javax.swing.$Proxy1 >>>> Implemented interfaces = {interface javax.swing.SomePackageInterfaceDefiningClass$SomeInnerPackageInterface}
    Class created = class $Proxy2 >>>> Implemented interfaces = {interface javax.swing.WindowConstants,interface javax.accessibility.Accessible,interface javax.swing.RootPaneContainer}
    Class created = class $Proxy2 >>>> Implemented interfaces = {interface javax.swing.WindowConstants,interface javax.accessibility.Accessible,interface javax.swing.RootPaneContainer}Under Java6 I get:
    Class created = class $Proxy0 >>>> Implemented interfaces = {interface javax.swing.WindowConstants}
    Class created = class javax.swing.$Proxy1 >>>> Implemented interfaces = {interface javax.swing.SomePackageInterfaceDefiningClass$SomeInnerPackageInterface}
    Class created = class $Proxy2 >>>> Implemented interfaces = {interface javax.swing.WindowConstants,interface javax.accessibility.Accessible,interface javax.swing.RootPaneContainer}
    Exception in thread "main" java.lang.IllegalAccessError: class javax.swing.$Proxy3 cannot access its superinterface javax.swing.TransferHandler$HasGetTransferHandler
         at java.lang.reflect.Proxy.defineClass0(Native Method)
         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:504)
         at javax.swing.NonPublicInterfaceProxyCreator.doTest(NonPublicInterfaceProxyCreator.java:45)
         at javax.swing.NonPublicInterfaceProxyCreator.main(NonPublicInterfaceProxyCreator.java:38)According to the documentation the interface javax.swing.TransferHandler$HasGetTransferHandler should be visible to my class as it is located in the same package, right?
    I think there must be some classloading issue when trying to access the non-public interface javax.swing.TransferHandler$HasGetTransferHandler in rt.jar.
    I can not figure out what is different between my own non-public interface and Swing's javax.swing.TransferHandler$HasGetTransferHandler.
    Any help would be appreciated.

    I don't agree completely. What you're telling is true, don't get me wrong. It's the Error that I get from Java that troubles me.
    To resolve the classloading question, I changed my code as follows:
    package javax.swing;
    import java.lang.reflect.Proxy;
    import java.util.ArrayList;
    import java.util.Collection;
    import org.apache.commons.lang.ArrayUtils;
    public class NonPublicInterfaceProxyCreator {
        public static void main(String[] args) {
            // This works fine !
            doTest(WindowConstants.class);
            doTest2(WindowConstants.class);
            // This also ! The proxy class package is javax.swing as expected
            doTest(SomePackageInterfaceDefiningClass.SomeInnerPackageInterface.class);
            doTest2(SomePackageInterfaceDefiningClass.SomeInnerPackageInterface.class);
            // JDialog implements the package visible interface
            // javax.swing.TransferHandler.HasGetTransferHandler
            Collection<Class<?>> jdInterfaces = new ArrayList<Class<?>>();
            for (Class<?> interfaze : JDialog.class.getInterfaces()) {
                jdInterfaces.add(interfaze);
            Collection<Class<?>> strippedJdialogInterfaces = new ArrayList<Class<?>>(
                    jdInterfaces);
            for (Class<?> interfaze : jdInterfaces) {
                if (interfaze.getName().equalsIgnoreCase(
                        "javax.swing.TransferHandler$HasGetTransferHandler")) {
                    strippedJdialogInterfaces.remove(interfaze);
            // Without the package visible interface it works !
            doTest(strippedJdialogInterfaces.toArray(new Class<?>[0]));
            doTest2(strippedJdialogInterfaces.toArray(new Class<?>[0]));
            // With the package visible interface it fails
            doTest(jdInterfaces.toArray(new Class<?>[0]));
            doTest2(jdInterfaces.toArray(new Class<?>[0]));
        private static void doTest(Class... interfaces) {
            ClassLoader contextClassLoader = Thread.currentThread()
                    .getContextClassLoader();
            System.out.println("Classloader that creates proxy = " + contextClassLoader);
            try {
                Class clazz = Proxy.getProxyClass(contextClassLoader, interfaces);
                System.out.println("Class created = " + clazz
                        + " >>>> Implemented interfaces = "
                        + ArrayUtils.toString(clazz.getInterfaces()));
            } catch (Throwable e) {
                e.printStackTrace();
        private static void doTest2(Class... interfaces) {
            ClassLoader contextClassLoader = JDialog.class.getClassLoader();
            System.out.println("Classloader that creates proxy = " + contextClassLoader);
            try {
                Class clazz = Proxy.getProxyClass(contextClassLoader, interfaces);
                System.out.println("Class created = " + clazz
                        + " >>>> Implemented interfaces = "
                        + ArrayUtils.toString(clazz.getInterfaces()));
            } catch (Throwable e) {
                e.printStackTrace();
    }And here is the result when I run it on Java 1.6:
    Classloader that creates proxy = sun.misc.Launcher$AppClassLoader@11b86e7
    Class created = class $Proxy0 >>>> Implemented interfaces = {interface javax.swing.WindowConstants}
    Classloader that creates proxy = null
    Class created = class $Proxy1 >>>> Implemented interfaces = {interface javax.swing.WindowConstants}
    Classloader that creates proxy = sun.misc.Launcher$AppClassLoader@11b86e7
    Class created = class javax.swing.$Proxy2 >>>> Implemented interfaces = {interface javax.swing.SomePackageInterfaceDefiningClass$SomeInnerPackageInterface}
    Classloader that creates proxy = null
    java.lang.IllegalArgumentException: interface javax.swing.SomePackageInterfaceDefiningClass$SomeInnerPackageInterface is not visible from class loader
         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
         at javax.swing.NonPublicInterfaceProxyCreator.doTest2(NonPublicInterfaceProxyCreator.java:64)
         at javax.swing.NonPublicInterfaceProxyCreator.main(NonPublicInterfaceProxyCreator.java:18)
    Classloader that creates proxy = sun.misc.Launcher$AppClassLoader@11b86e7
    Class created = class $Proxy3 >>>> Implemented interfaces = {interface javax.swing.WindowConstants,interface javax.accessibility.Accessible,interface javax.swing.RootPaneContainer}
    Classloader that creates proxy = null
    Class created = class $Proxy4 >>>> Implemented interfaces = {interface javax.swing.WindowConstants,interface javax.accessibility.Accessible,interface javax.swing.RootPaneContainer}
    Classloader that creates proxy = sun.misc.Launcher$AppClassLoader@11b86e7
    java.lang.IllegalAccessError: class javax.swing.$Proxy5 cannot access its superinterface javax.swing.TransferHandler$HasGetTransferHandler
         at java.lang.reflect.Proxy.defineClass0(Native Method)
         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:504)
         at javax.swing.NonPublicInterfaceProxyCreator.doTest(NonPublicInterfaceProxyCreator.java:51)
         at javax.swing.NonPublicInterfaceProxyCreator.main(NonPublicInterfaceProxyCreator.java:41)
    Classloader that creates proxy = null
    Class created = class javax.swing.$Proxy6 >>>> Implemented interfaces = {interface javax.swing.WindowConstants,interface javax.accessibility.Accessible,interface javax.swing.RootPaneContainer,interface javax.swing.TransferHandler$HasGetTransferHandler}As you can see, I get an IllegalArgumantException telling me that my interface I try to proxy is not visible for JDialog's classloader, as I would expect. Remark that Java tells me that JDialog's classloader is null. Strange, isn't is?
    However I get an IllegalAccessError when I try to proxy TransferHandler$HasGetTransferHandler from my own classloader.
    Any reason why the error is different?

  • App rejected due to non-public api's

    Hi,
              My App rejected due to non-public api's.
    Apple's Comments: 
    2.5: Apps that use non-public
                                      "We found that your app uses one or more non-public APIs, which is not in compliance with the App Store Review Guidelines. The use of non-public APIs is not permissible because it can lead to a poor user experience should these APIs change.
    We found the following non-public API/s in your app:
    _updateView (I have the method name like "_updateView" in my source, can I change the name of the method. Is it works ? )
    If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple's private APIs to avoid your application being flagged in future submissions.
    Additionally, one or more of the above-mentioned APIs may reside in a static library included with your application. If you do not have access to the library's source, you may be able to search the compiled binary using "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides."
                                    And in my application, I am using the FBConnect, SDWebImage library,  and Twitter+oAuth api's. These are non-public api's ? Now, can I integrate Jira (Crash Reporter) to my application? Can anybody solve my issue......
    Thanks & Regards,
    Rajesh Kumar Yandamuri

    I have the same problem what to do with below points from the apple.
    Requires help plz help me my app rejected two times with this points.
    We found that your app uses one or more non-public APIs, which is not in compliance with the App Store Review Guidelines. The use of non-public APIs is not permissible because it can lead to a poor user experience should these APIs change.
    We found the following non-public API/s in your app:
    _tearDown
    If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple's private APIs to avoid your application being flagged in future submissions.
    Additionally, one or more of the above-mentioned APIs may reside in a static library included with your application. If you do not have access to the library's source, you may be able to search the compiled binary using "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.
    We appreciate that you may have made the precautions in your code for using non-public APIs, however, there is no way to accurately or completely predict how an API may be modified and what effects those modifications may have. For this reason, we do not permit the use of non-public APIs in App Store apps.
    If there are no alternatives for providing the functionality your app requires, we encourage you to file an enhancement request. Or, try working with the Apple Developer Technical Support team to explore alternative solutions. 
    On occasion, there may be apps on the App Store that don't appear to be in compliance with the App Store Review Guidelines. We work hard to ensure that the apps on the App Store are in compliance and we try to identify any apps currently on the App Store that may not be. It takes time to identify these occurrences but another app being out of compliance is not a reason for your app to be.
    For discrete code-level questions, you may wish to consult with Apple Developer Technical Support. Please be sure to:
    - include the complete details of your rejection issues
    - prepare any symbolicated crash logs, screenshots, and steps to reproduce the issues for when the DTS engineer follows up.
    For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports.
    If you have difficulty reproducing this issue, please try testing the workflow as described in  <https://developer.apple.com/library/ios/qa/qa1764/>Testing Workflow with Xcode's Archive feature".

  • Apps that use non-public APIs will be rejected

    Hi guys
    Just reading the iOS guidelines before I get too deep into making the native version of a web app.
    I was wondering what:
    Apps that use non-public APIs will be rejected
    means when submitting an app made in AIR - does it mean you can't use your own custom classes?
    Cheers

    If you mean custom AS3 classes, yes you can use those. What you can't do is create an ANE that calls into the private frameworks of iOS itself.

  • Datatype For Non Public Information

    Hi Guys,
    I have few columns in my database which contains non public information like customer account no ,customer ssn, customer tin.So the requirement comes from the field to encrypt the data while storing ,So could any one please tell me the proper dataptyes to store the encrupted data except the raw type.we are storing password in the raw datatype.
    Please share me some thoughts .
    Many many thanks in advance.
    I am using oracle 11g
    Regards,
    papi
    Edited by: 957590 on May 29, 2013 12:04 AM

    957590 wrote:
    I have few columns in my database which contains non public information like customer account no ,customer ssn, customer tin.So the requirement comes from the field to encrypt the data while storing ,So could any one please tell me the proper dataptyes to store the encrupted data except the raw type.we are storing password in the raw datatype.So does that mean that any user/app/process with select access to a table can also see the encrypted values in the table when selecting rows? Do you want to share secrets, even when encrypted, with strangers?
    Does that mean those with proper access to the data, use decryption in the database and then get the unencrypted private data send to them via a public and non-encrypted network link?
    How is access secured for those allowed access to private data?
    There is much more to security than simply storing data, on disk, in encrypted format.
    As always, requirements are important. What are they? Are they documented? Do they contain measurables and fixed goal posts?

  • How to deploy non public App

    We have a public iPhone app, to be used by the general public, and we also have an iPad App (we call it the business owner Portal) that has little meaning for the public. When a business signs up with us, they get a password to use the Portal for accessing their business information.
    What is the usual way to deal with such non-public Apps (our Portal App)? Is there a way to get this App approved by Apple but distributed via some URL other than the App store?  Our Portal is not secret or anything, but since it is not usable by the general public it will not make any sense for people to find it without first talking to us.
    I would appreciate your guidance or some pointers to further information.
    Thank you.

    thank you for the link.
    I am reading it...  there is a dead link to a page for private distribution.. what I was looking for
    http://www.apple.com/iphone/business/integration/mdm/
    But I am getting the general idea.

  • Accessing a private variable from a public method of the same class

    can anyone please tell me how to access a private variable, declared in a private method from a public method of the same class?
    here is the code, i'm trying to get the variable int[][][] grids.
    public static int[][] generateS(boolean[][] constraints)
      private static int[][][] sudokuGrids()
        int[][][] grids; // array of arrays!
        grids = new int[][][]
        {

    Are you sure that you want to have everything static here? You're possibly throwing away all the object-oriented goodness that java has to offer.
    Anyway, it seems to me that you can't get to that variable because it is buried within a method -- think scoping rules. I think that if you want to get at that variable your program design may be under the weather and may benefit from a significant refactoring in an OOP-manner.
    If you need more specific help, then ask away, but give us more information please about what you are trying to accomplish here and how you want to do this. Good luck.
    Pete
    Edited by: petes1234 on Nov 16, 2007 7:51 PM

  • [svn:osmf:] 14187: PARB changes: Make TimeUtil non-public, it doesn' t need to be part of the public API.

    Revision: 14187
    Revision: 14187
    Author:   [email protected]
    Date:     2010-02-16 09:37:39 -0800 (Tue, 16 Feb 2010)
    Log Message:
    PARB changes: Make TimeUtil non-public, it doesn't need to be part of the public API.
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/utils/ExternalProperty.as
        osmf/trunk/framework/OSMF/org/osmf/utils/TimeUtil.as

    Revision: 14187
    Revision: 14187
    Author:   [email protected]
    Date:     2010-02-16 09:37:39 -0800 (Tue, 16 Feb 2010)
    Log Message:
    PARB changes: Make TimeUtil non-public, it doesn't need to be part of the public API.
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/utils/ExternalProperty.as
        osmf/trunk/framework/OSMF/org/osmf/utils/TimeUtil.as

  • Non public text items into a Public page

    Hello,
    I have a Page with Public Access, but inside it an item text which I would like to set as non public access item. In fact I do that, but when I display the page in view mode I can see that non public item although I had set the access th it as non public.
    Is there any way of achieve that feature ?
    Thanks in advance,
    Izzat Sabbagh
    ITC

    Hi Izzat,
    What version of Portal are you running? I am unaware of any issues related to what you are trying. Ensure that you are not trying to view the secure content as the owner/creator of the page group or page even though you have not given this user access to the item. The owner/creator of the page will always see everything.
    I hope this helps,
    Candace

  • Using non public callable API

    Hello All,
    I had a post before about using work incident API but nobody responded to me. Here is the link:
    https://forums.oracle.com/forums/message.jspa?messageID=10458788#10458788
    Any way, I found out how should I find the incident reference . Actually, the incident reference is getting generated from the system and how the system does generate that is, it calls a non public callable api. Now for my procedure I want to try to call that non public api, and here is just the test code but I get this error:
    Error(5,2): PLS-00221: 'GET_OSHA_CASE_NUMBER' is not a procedure or is undefined
    my code is:
    create or replace
    PROCEDURE INCIDENT_REFERENCE
    AUTHID CURRENT_USER AS
    begin
    APPS_APPLMGR.per_inc_bus.get_osha_case_number (to_date('01-OCT-03 22:39:04'), 0);
    end;
    Could you please advise me how I can call this api? Or is there any code that I need to use before calling it.
    Thanks,

    Haisa.M wrote:
    Error(5,2): PLS-00221: 'GET_OSHA_CASE_NUMBER' is not a procedure or is undefinedThis means one of 2 things:
    a) you are calling a function as a procedure
    b) you are calling a procedure that does not exist
    From the code unit's name, it would seem that this is a function - not a procedure. The get in the name implies a getter code unit (as oppose to a setter). Getters are typically functions.
    E.g.:
    create or replace procedure FooProc authid current user is
    caseNumber  number;
    begin
      caseNumber := APPS_APPLMGR.per_inc_bus.get_osha_case_number ( sysdate, 0 );
      .. do something with number..
    end;

  • [svn:osmf:] 13888: PARB feedback: Remove ContentElement and ContentLoader, refactor common image/SWF code into a non-public utility class.

    Revision: 13888
    Revision: 13888
    Author:   [email protected]
    Date:     2010-01-29 11:44:20 -0800 (Fri, 29 Jan 2010)
    Log Message:
    PARB feedback: Remove ContentElement and ContentLoader, refactor common image/SWF code into a non-public utility class.
    Modified Paths:
        osmf/trunk/framework/OSMF/.flexLibProperties
        osmf/trunk/framework/OSMF/org/osmf/image/ImageElement.as
        osmf/trunk/framework/OSMF/org/osmf/image/ImageLoader.as
        osmf/trunk/framework/OSMF/org/osmf/plugin/DynamicPluginLoader.as
        osmf/trunk/framework/OSMF/org/osmf/swf/SWFElement.as
        osmf/trunk/framework/OSMF/org/osmf/swf/SWFLoader.as
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/image/TestImageElementIntegration.as
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/image/TestImageLoaderIntegration.as
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/swf/TestSWFElementIntegration.as
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/swf/TestSWFLoaderIntegration.as
        osmf/trunk/framework/OSMFTest/org/osmf/OSMFTests.as
    Added Paths:
        osmf/trunk/framework/OSMF/org/osmf/swf/LoaderLoadTrait.as
        osmf/trunk/framework/OSMF/org/osmf/swf/LoaderLoadedContext.as
        osmf/trunk/framework/OSMF/org/osmf/swf/LoaderUtils.as
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/content/TestImageOrSWFElementIntegratio n.as
    Removed Paths:
        osmf/trunk/framework/OSMF/org/osmf/content/
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/content/TestContentElementIntegration.a s
        osmf/trunk/framework/OSMFIntegrationTest/org/osmf/content/TestContentLoaderIntegration.as
        osmf/trunk/framework/OSMFTest/org/osmf/content/TestContentElement.as
        osmf/trunk/framework/OSMFTest/org/osmf/content/TestContentLoader.as

  • [svn] 4184: Fix for @ see tag referencing a non-global package function generates an empty link@ href in DITA

    Revision: 4184
    Author: [email protected]
    Date: 2008-11-25 12:33:43 -0800 (Tue, 25 Nov 2008)
    Log Message:
    Fix for @see tag referencing a non-global package function generates an empty link@href in DITA
    Also now the deprecated should show up in the property and method summary table.
    and when @see results in an invalid href, an additional attribute called invalidHRef will be added to the dita file - this isn't picked up by xslt but will be consumed by FB.
    QE Notes: Some baselines may need to be updated due to new attribute for invalidHRef
    Doc Notes: None
    Bugs: SDK-18206
    tests: checkintests
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-18206
    Modified Paths:
    flex/sdk/trunk/asdoc/templates/asdoc-util.xslt
    flex/sdk/trunk/asdoc/templates/class-files.xslt
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/TopLevelClassesGenerator.ja va

    Update!
    v3.1 has a major bug! Even though it may appear to work properly, strange characters may leak onto the end of URLs, and you may even get segfaults. Sorry I didn't properly test it before releasing it!
    Technical details:
    I calloc()ed the memory for the link href improperly, per:
    link = calloc((noprepend ? 0 : urllen) + i - s, 1);
    Once I fixed it with "+ 1", per:
    link = calloc((noprepend ? 0 : urllen) + i - s + 1, 1);
    it worked great.
    I may use a method that doesn't use a calloc() in the future; this works for now, and I'm not gonna knock it...
    Last edited by dav7 (2009-01-23 12:38:51)

Maybe you are looking for