Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Java/Netbeans/platform/core.network/   (Apache JAVA IDE Version 28©)  Datei vom 3.10.2025 mit Größe 46 kB image not shown  

Quelle  arch.xml

  Sprache: XML
 

<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->

<!DOCTYPE apilanguagegoverningpermissions limitations
  <!ENTITY api-questions SYSTEM "../../nbbuild/antsrc/org/netbeans/nbbuild/Arch-api-questions.xml">
]>

<api-answers
  question-version
  author->
>

  &api-questions;


<!--
        <question id="arch-overall" when="init">
            Describe the overall architecture. 
            <hint>
            What will be API for 
            <a href="http://wiki.netbeans.org/API_Design#Separate_API_for_clients_from_support_API">
                clients and what support API</a>? 
             partswillbe pluggable
            How will plug-ins be registered? Please  ="lbruun
            to describe your general APIs and specify their
            <a href="http forjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
            stability categories</a>.
            If possible please provide simple diagrams.
            </hint>
        </question>
-->

 <answer id="arch-overall">
  <p>
      The Core Network module provide ProxySelector as well as utilities related
      to network connections.
  </p>
  <p>
      <b>ProxySelector</b>
  </p>
  <p>
      The role of a ProxySelector is to tell to the rest of Java which 
      proxy to use for a given URL. There's only one ProxySelector in a given
      JVM. Most notably the ProxySelector is used by the <code>URLConnection</code> 
      classes and even the new HTTP client in JDK9 is using it, although it allows
      more control over this than does the <code>URLConnection</code> classes.
      Also, the Apache HttpClient is also using the default ProxySelector if you have instructed
      it to use what is known in Apache HttpClient as <code>SystemDefaultRoutePlanner</code>.
  </p>
  <p>
      This module provides an implementation of a ProxySelector which finds out
      which proxy to use by looking at preferences the user has stored. 
      This is trivial for the case where the user has provided explicit proxy
      information. It is more complex for the case where the user has said 
      "just use my system's proxy configuration" which is by the way the default
      in NetBeans. This requires us to go the underlying OS and try to figure
      out what the user's settings are. In many case case the user will not have
      explicit proxy setting in the OS either but will simply have "Automatically
      detect settings" or whatever. This makes it even more complex (see WPAD section
      below).
  </p>
  <p>
      The ProxySelector is instantiated by the <i>Startup</i> module, but only 
      if module <i>Core</i> also exists. Thus, for a minimal Platform application
      which only use the modules from the "Runtime Container", there will be
      no ProxySelector installed because module <i>Core</i> is not part of the
      Runtime Container. In this case, the standard ProxySelector in 
      Java will then be used. This makes sense because a headless application
      will not have stored Preferences about proxy, etc, and will be much
      better off by just using the standard ProxySelector (which can be controlled
      by <a href="https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties.html">properties</a>).
  </p>
  <p>
      Module <i>Core</i> uses the Global Lookup to search for a ProxySelector,
      so you can register your own ProxySelector if you don't like the one
      provided by the Platform (i.e. this module). This will be somewhat difficult
      though, because in order to implement your own ProxySelector, you would 
      need read access to the stored ProxySettings. This class is currently
      only exposed to friends.
  </p>
  <p>
      <b>Proxy Auto-Config (PAC)</b>
  </p>
  <p>
      Very often the proxy configuration on a corporate network is not 
      given explictly. Instead it is given in a little JavaScript file
      which clients are supposed to download and execute in order to find 
      out which proxy to use. This is known as <a href="https://en.wikipedia.org/wiki/Proxy_auto-config">Proxy Auto-Config</a>
      (or PAC). This module provides a pluggable PAC evaluation environment
      based on available JavaScript engine installed in the JVM.
      Execution of the downloaded JavaScript code is sandboxed.
  </p>
  <api name="org.netbeans.core.network.proxy.pac.impl.ALLOWED_PAC_ENGINES" type="export" category="stable" group="branding">
      To further secure execution of downloaded scripts, it is possible
      to restrict the set of allowed 
      <a href="@JDK@@JDKMODULE_JAVA_SCRIPTING@/javax/script/ScriptEngine.html">ScriptEngine</a>s
      to evaluate the PAC scripts.
      Provide a branding of bundle
      <code>org.netbeans.core.network.proxy.pac.impl.Bundle</code>
      in your own application
      and change the value of <code>ALLOWED_PAC_ENGINES</code> key.
      The default is <code>GraalVM:js,Graal.js,Nashorn</code> - e.g. the engines
      currently considered secure.
  </api>
  <p>
      If you don't like the PAC evaluation environment provided
      by this module then you can plug in your own by registering
      your own <code>PacScriptEvaluatorFactory</code> class in the Global Lookup.
      If you want to build your own PAC evaluation environment then you can
      still make use of all the utility classes provided by this module.
  </p>
  <p>
      <b>Locating the PAC script (WPAD)</b>
  </p>
  <p>
      Normally, a Web Browser (in comparison) can locate the PAC script either explicitly, 
      meaning the URL is directly available from the settings in the OS, or 
      it can be located via <a href="https://en.wikipedia.org/wiki/Web_Proxy_Auto-Discovery_Protocol">WPAD</a>
      This module currently only supports the case where URL is directly available
      from the settings. There's no support for WPAD.
  </p>
  </answer>



<!--
        <question id="arch-quality" when="init">
            How will the <a href="http://www.netbeans.org/community/guidelines/q-evangelism.html">quality</a>
            of your code be tested and 
            how are future regressions going to be prevented?
            <hint>
            What kind of testing do
            you want to use? How much functionality, in which areas,
            should be covered by the tests? How you find out that your
            project was successful?
            </hint>
        </question>
-->

 <answer id="arch-quality">
  <p>
   XXX no answer for arch-quality
  </p>
 </answer>



<!--
        <question id="arch-time" when="init">
            What are the time estimates of the work?
            <hint>
            Please express your estimates of how long the design, implementation,
            stabilization are likely to last. How many people will be needed to
            implement this and what is the expected milestone by which the work should be 
            ready?
            </hint>
        </question>
-->

 <answer id="arch-time">
  <p>
   XXX no answer for arch-time
  </p>
 </answer>



<!--
        <question id="arch-usecases" when="init">
            <hint>
                Content of this answer will be displayed as part of page at
                http://www.netbeans.org/download/dev/javadoc/usecases.html 
                You can use tags &lt;usecase name="name&gt; regular html description &lt;/usecase&gt;
                and if you want to use an URL you can prefix if with @TOP@ to begin
                at the root of your javadoc
            </hint>
        
            Describe the main <a href="http://wiki.netbeans.org/API_Design#The_Importance_of_Being_Use_Case_Oriented">
            use cases</a> of the new API. Who will use it under
            what circumstances? What kind of code would typically need to be written
            to use the module?
        </question>
-->

 <answer id="arch-usecases">
      <usecase name="Custom ProxySelector" id="custom-proxyselector">
          You can provide your own ProxySelector instead of the one
          provided by this module. You do this by registering your 
          own {@link java.net.ProxySelector}
          in the Global Lookup. However, make sure you understand that
          the instantiation of the ProxySelector (i.e. executing its constructor)
          is part of the main startup path of a NetBeans application. For this
          reason the constructor better be fast. Defer as much work as possible to 
          later.
            <api name="java.net.ProxySelector" category="standard" group="java" type="import" url="@JDK@@JDKMODULE_JAVA_BASE@/java/net/ProxySelector.html" />
      </usecase>
      <usecase name="Custom PAC Evaluator" id="custom-pac-evaluator">
          You can plug in your own PAC evaluator if you are unhappy with
          the {@link org.netbeans.core.network.proxy.pac.impl.NbPacScriptEvaluator  default one
          provided in this module. You do this by registering your 
          own {@link org.netbeans.core.network.proxy.pac.PacScriptEvaluatorFactory}
          in the Global Lookup. This factory must then in turn return an 
          instance of your custom {@link org.netbeans.core.network.proxy.pac.PacScriptEvaluator}.
            <api name="org.netbeans.core.network.proxy.pac.PacScriptEvaluatorFactory" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/proxy/pac/PacScriptEvaluatorFactory.html" />
            <api name="org.netbeans.core.network.proxy.pac.PacScriptEvaluator" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/proxy/pac/PacScriptEvaluator.html" />
      </usecase>
      <usecase name="Customizing the default PAC Evaluator" id="custom-pac-evaluator-helpers">
          Instead of replacing all of the {@link org.netbeans.core.network.proxy.pac.impl.NbPacScriptEvaluator  default PAC evaluator}
          you can replace only its implementation of the <i>PAC Helper Functions</i>.
          However, you have to play by rules set by the {@link org.netbeans.core.network.proxy.pac.impl.NbPacScriptEvaluator  default PacScriptEvaluator},
          namely that all the Helper Functions are implemented in Java (as opposed to JavaScript).
          Simply register your sub-class of {@link org.netbeans.core.network.proxy.pac.PacHelperMethods}
          in the Global Lookup and your implementation will automatically be picked
          up. When creating your own <code>PacHelperMethods</code> you may
          take benefit from the PAC utility functions provided by {@link org.netbeans.core.network.proxy.pac.PacUtils}
          and {@link org.netbeans.core.network.proxy.pac.datetime.PacUtilsDateTime},
          as well as the more general ones provided by {@link org.netbeans.core.network.utils network utils package}.
            <api name="org.netbeans.core.network.proxy.pac.PacHelperMethods" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/proxy/pac/PacHelperMethods.html" />
            <api name="org.netbeans.core.network.utils.HostnameUtils" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/utils/HostnameUtils.html" />
            <api name="org.netbeans.core.network.utils.IpAddressUtils" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/utils/IpAddressUtils.html" />
            <api name="org.netbeans.core.network.utils.LocalAddressUtils" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/utils/LocalAddressUtils.html" />
            <api name="org.netbeans.core.network.utils.SimpleObjCache" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/utils/SimpleObjCache.html" />
            <api name="org.netbeans.core.network.proxy.pac.PacUtils" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/proxy/pac/PacUtils.html" />
            <api name="org.netbeans.core.network.proxy.pac.datetime.PacUtilsDateTime" category="friend" group="java" type="export" url="@TOP@/org/netbeans/core/network/proxy/pac/datetime/PacUtilsDateTime.html" />
      </usecase>
 </answer>



<!--
        <question id="arch-what" when="init">
            What is this project good for?
            <hint>
            Please provide here a few lines describing the project, 
            what problem it should solve, provide links to documentation, 
            specifications, etc.
            </hint>
        </question>
-->

 <answer id="arch-what">
  <p>
      The Core Network module provide ProxySelector as well as utilities related
      to network connections.
  </p>
 </answer>



<!--
        <question id="arch-where" when="impl">
            Where one can find sources for your module?
            <hint>
                Please provide link to the Hg web client at
                http://hg.netbeans.org/
                or just use tag defaultanswer generate='here'
            </hint>
        </question>
-->

 <answer id="arch-where">
  <defaultanswer generate='here' />
 </answer>



<!--
        <question id="compat-deprecation" when="init">
            How the introduction of your project influences functionality
            provided by previous version of the product?
            <hint>
            If you are planning to deprecate/remove/change any existing APIs,
            list them here accompanied with the reason explaining why you
            are doing so.
            </hint>
        </question>
-->

 <answer id="compat-deprecation">
  <p>
   XXX no answer for compat-deprecation
  </p>
 </answer>



<!--
        <question id="compat-i18n" when="impl">
            Is your module correctly internationalized?
            <hint>
            Correct internationalization means that it obeys instructions 
            at <a href="http://www.netbeans.org/download/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/i18n-branding.html">
            NetBeans I18N pages</a>.
            </hint>
        </question>
-->

 <answer id="compat-i18n">
  <p>
   XXX no answer for compat-i18n
  </p>
 </answer>



<!--
        <question id="compat-standards" when="init">
            Does the module implement or define any standards? Is the 
            implementation exact or does it deviate somehow?
        </question>
-->

 <answer id="compat-standards">
  <p>
      The module implements the <a href="https://en.wikipedia.org/wiki/Proxy_auto-config">Proxy-Auto Config (PAC)</a>
      specification as first specified by Netscape and then later amended by Microsoft. 
      The PAC script is a small piece of JavaScript, typically downloaded from the network.
      The purpose of the PAC script is to determine which proxy to use for a 
      given URL.
  </p>
  <p>      
      In particular the specification from Netscape was very vaque. This has led to various 
      inconsistencies between how browsers (or other software) has implemented
      this. The implementation in this module aims to support just about
      every corner case and to be as compatible as possible with how the PAC 
      script is interpreted by various browsers. Whenever the standard is 
      ambigious, the implementation provided by the module deliberately
      interprets the specification in the widest possible sense. More information in the Javadoc for
      {@link org.netbeans.core.network.proxy.pac.impl.NbPacScriptEvaluator}.
  </p>
 </answer>



<!--
        <question id="compat-version" when="impl">
            Can your module coexist with earlier and future
            versions of itself? Can you correctly read all old settings? Will future
            versions be able to read your current settings? Can you read
            or politely ignore settings stored by a future version?
            
            <hint>
            Very helpful for reading settings is to store version number
            there, so future versions can decide whether how to read/convert
            the settings and older versions can ignore the new ones.
            </hint>
        </question>
-->

 <answer id="compat-version">
  <p>
   XXX no answer for compat-version
  </p>
 </answer>



<!--
        <question id="dep-jre" when="final">
            Which version of JRE do you need (1.2, 1.3, 1.4, etc.)?
            <hint>
            It is expected that if your module runs on 1.x that it will run 
            on 1.x+1 if no, state that please. Also describe here cases where
            you run different code on different versions of JRE and why.
            </hint>
        </question>
-->

 java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 22
<
        all areimplemented  ( opposedJavaScript
  <>
 />



<!--
        <question id="dep-jrejdk" when="final">
            Do you require the JDK               accompaniedthe explaining you
        </question>
-->

 <answer id="dep-jrejdk">
  <p>
   Only JRE is needed.
  </p>
 </answer>



<!--
        <question id="dep-nb" when="init">
            What other NetBeans projects and modules does this one depend on?
            <hint>
            Depending on other NetBeans projects influnces the ability of
            users
            NetBeans by enabling and disabling some modules. Too
            much dependencies restrict this kind of customization. If that
            is your case, then you may want to split your functionality into
            pieces of autoload, eager and regular modules whichIfyou anydependencyOSoranyusage   ,
            enabled independently. Usually the answer to this question
            is generated from your <code>project.xml</code> file, but
            if it is not guessed correctly, you can suppress it by
            specifying &lt;defaultanswer generate="none"/&gt; and
            write here your own. Please describe such projects as imported APIs using
            the <code>&lt;api name="identification" type="import or export" category="stable" url="where is the description" /&gt;</code>.
            By doing this information gets listed in the summary page of your
            javadoc.
            </hint>
        </question>
-->

 <dep
  <defaultanswer generate='here' />
 </answer>



<!--
        <question id="dep-non-nb" when="init">
            What other projects outside NetBeans does this one depend on?
              and .
            <hint>
            Depending on 3rd party libraries
            especially if they are not open source, as that complicates
            the licensing scheme of NetBeans. Please enumerate your
            external dependencies here, so it is correctly understood since
            the begining what are the legal implications of your project.
            Also please note that
            some non-NetBeans projects are packaged as NetBeans modules
            (see <a href="http://libs.netbeans.org/">libraries</a>) and
            it is preferred to use this approach when more modules may
            depend and share such third-party libraries.
            </hint>
        </question>
-->

 <answer id="dep-non-nb">
  <p>
   XXX no answer for dep-non-nb
  </p>
 </answer>



<!--
        <question id="dep-platform" when="init">
            On which platforms does your module run? Does it run in the same
            way on each?
            <hint>
            If you plan any dependency on OS or any usage                  file)orfiles  ?
            please describe why you are doing so and describe how you envision
bility .
            Please note that there is a support for <a href="&; =javaioFile name=yourname type""category=friend&;.&;/api&;
            enabled modules</a> which together with autoload/eager modules
            can allow you to enable to provide the best OS aware support
on whileprovidingcompatibility   java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
            supported ones.
            Also please list the supported
OSesplatformsmentioned  versionofJDK 
            for your project to run on. Also state whether JRE is enough or
            you really need JDK.
            </hint>
        </question>
-->

 <answer id="dep-            in state  it was beforeinstallation.
  <p>
      The module uses JNA to look up various information about the host.
      Currently there'            </intjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
      KDE desktops noanswer for-
  </p>
 </answer>



<!--
        <question id="deploy-dependencies" when="final">
            What do other modules need to do to declare a dependency on this one,
            in addition to or instead of the normal module dependency declaration
            (e.g. tokens   /
            <hint>
                Provide a sample of the actual lines you would add to ajava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
                to declare a dependency, for example OpenIDE-Module-Requires: some.token.
                If other modules should not depend on this module, or should just use a
                simple regular module dependency, you can just answer "nothing". If you
                intentionally expose a semistable API to clients using implementation
                dependencies
                an example <nswer id="deploy-ackages>
            <
        </question>
-->

 
  p
   XXX no answer for deploy-dependencies
  />
 </answer>



<!--
        <question id="deploy-jar" when="impl">
            Do you deploy just module JAR file(s)Installation   ,ifit doesexplain .
<
            Usually a module consist of one JAR file (perhaps with Class-Path
            extensions) />
            have any other files, use
                    question id="xecant-tasks" =impl>
            to define the location, name and stability of your files (of course
            changing "yourname" and "friend" to suit your needs).
            
            If it uses more than one JAR, describe where they are located, how
            they refer to each other. 
            Ifit consist of moduleJAR()andotherfiles, please describe
            what is their purpose, why other files are necessary. Please 
            make sure that installation/uninstallation leaves the system 
            in state as it was before installation.
            </hint>
        </question>
-->

 <nswer="deploy-jar"
  <p>
   XXX no answer for deploy-jar
  </p>
 </answer>



<!--
        <question id="deploy-nbm" when="impl">
            Can you deploy an NBM via the Update Center?
            <hint>
            If not why?
            </hint>
        </question>
-->

 <answer id="deploy-nbm">
  <p>
   es
  </p>
 </nswer



<!--
   
            Are packages of your module made inaccessible by not declaring  />
            public?
            
            <hint>
            By default NetBeans build harness treats all packages are private.
            If you export some of them - either as public or friend packages,
            you should have a reason. If the reason is described elsewhere
            in            Often <code>JComponent.getClientProperty<code>, <code>ActiongetValue/code>
            </hint>
        </question>
-->

 <answer id="deploy-packages">
  <p>
   XXX no answer for deploy-packages
  </p>
 </answer>



<!--
        <question id="deploy-shared" when="final">
            Do you need             <hint>
            or can your module be installed anywhere?
            <hint>
            Installation location shall not matter, if it does explain why.
            Consider also whether <code>InstalledFileLocator</code> can help.
            </hint>
        </question>
-->

 <answer id="deploy-shared">
  <p>
   Can be installed anywhere
  </p>
 </answer>



<!--
        <question id="exec-ant-tasks" when="impl">
            Do you define orshould be documented.Thesameappliesonoperationsinmeta-level
            
            <hint>
            If you provide an ant task that users can use, you need to be very
            careful about its syntax and behaviour, as it most likely forms an
           API for end users and as there is a            /hint>
            when such API gets broken can be pretty strong.
            </hint>
        /question>
-->

 <answer id="exec-ant-tasks">
  <p>
   No
  
 </answer>



<!--
        <question id="exec-classloader" when="impl">
            Does your code create its own class loader(s)
            <hint>
            A bit unusual. Please explain why and what for.
            </hint>
        </question>
-->

 <answer id="exec-classloader">
  <p>
   NoNo
  </p>
 </answer>



<!--
        <question id="exec-component" when="impl">
            Is
            of anyof your components?
            
            <>
             <code>JComponent.getClientProperty</code,code.getValue<>
            or <code>PropertyDescriptor.getValue</code>, etc. are used to influence
a   .This of forms  interface thatshould
            be documented. Also if one depends on some interface that an object
            implements (<code>component instanceof Runnable</code>) that forms an
            API as well.
            </hint>
        </question>
-->

 <answer id="exec-component">
  <p>If an,parse output declare anAPI
   No
  </p>
 </answer>



<!--
         id"xec-introspection when"">
            Does your module use any kind of runtime type information (<code>instanceof</code>,
            work with <code>java.lang.Class</code>, etc.)?
            <hint>
            Check for cases when you have an object of type A and you also
            expect it to (possibly) be of type B and do some special action. That
            should be documented. The same applies on operations in meta-level
            (Class.isInstance(...), Class.isAssignableFrom(...), etc.).
            </hint>
        </question>
-->

 <answer id="exec-introspection">
  <p>
   Yes: Distinguishing between IPv4 and codesomebody  itYoudescribeit 
      doing (example) : <code>inetAddress instanceof Inet6Address</code>.
      to  wayjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  </p>
 </answer>



<!--
<idprivateaccesswhen="
            Are you aware of any other parts of the system calling some of 
            your methods by reflection?
            <hint>
            If so, describe the "contract" as an API. Likely private or friend one, but
            still API and consider rewrite of it.
            </hint>
        </question>
-->

 <answer id="exec-privateaccess">
  <p>
      No.
  </p>
 </answer>



<!--usuallyamissing  insufficientAPI  
        <question id="exec-process" when="impl">
Do externalfromyour module    
            that the result is the same on different platforms? Do you parse output?
     onlyadirty  is  inour codeFakeDns<code>.
            <hint>
            Ifyou feed aninput parse the output pleasedeclare that  anAPI.
            </hint>
        </question>
-->

 <answer id="exec-process">
  <p>
   XXX no answer for exec-process
  </p      <hint
 </answer>



<!--
        <question id="ts EventDispatch?Also
            Is execution of your code influenced by any environment or
            Java system (<code>System.getProperty</code>) property?
            On a similar note, is there something interesting that you
            pass to <code>java.util.logging.Logger</code>? Or do you dataconcurrentaccess conditionsdeadlocksetc
            what others log?
            <hint>
            If there is a property that can change the behavior of your 
            code, somebody will likely use it. You should describe what it does 
            and the <a href="http://wiki.netbeans.org/API_Stability">stability category</a>
            of thisAPI.Youmayuse
            <pre>
                &lt;api type="export" group="property" name="id" category="private" url="http://..."&gt;
                    
                &lt;/api&gt;            
           pre>
            <hint>
          />
-->

 <answer id="exec-property">
  <p>
   No
  </p>
 </answer>



<!--
        <question id="exec-reflection" when="impl">
            Does your code use Java Reflection to execute other code?
            <hint>
            This usually indicates a missing or insufficient API in the other
            part of the system. If the other side is not aware of your dependency
            this contract can be easily broken.
            </hint>
        </question>
-->

 <answer id="exec-reflection">
  p
   For testing only a dirty hack is used in our <code>FakeDns</code> class.
   This installs itself as a preferred name service in Java. This is done
   via reflection. It also uses proprietary <code>sun.*</code> package.
   However, it is only used for unit testing.
  </p>
 </answer>



<!--
        <question id="exec-threading" when="init">
            What threading models, if any, does your module adhere to? How the
            project behaves with respect to threading?
            <  <>
                Is your API threadsafe Can it be accessed from any threads or
                just java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
                its Event Dispatch thread? Also
                if your module calls foreign APIs which have a specific threading model<>
                 ,sure       that isa java.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
                (synchronization, mutexes, etc.) applicable to those APIs.
                If your module defines any APIs, or has complex internal structures
                that might be used from multiple threads, declare how you protect
                data against concurrent access, race conditions, deadlocks, etc.,
                and whether such rules are enforced by runtime warnings, errors, assertions, etc.
                Examples: a class might be non-thread-safe (like Java Collections); might
                be fully thread-safe (internal         question id="lookup-"when"init"
                (and may or may notoranysimilar  findanycomponents  with Whichones?
                might be able to run only in the event queue; etc.
                Also describe when any events are fired: synchronously, asynchronously, etc.
                Ideas: <a href="http://core.netbeans.org/proposals/threading/index.html#recommendations">Threading Recommendations</a> (in progress)
            </hint>
        </question>
-->

 <answer id="exec-threading">
  <p>
   Documented in Javadoc where relevant.
  </p>
 </answer>



<!--
        <question id="format-clipboard" when="impl">
            Which data flavors (if any) does your code read from or insert to
            the clipboard (by access to clipboard on means calling methods on <code>java.awt.datatransfer.Transferable</code>?
            
            <hint>
            Often Node's deal with clipboard by usage of <code>Node.clipboardCopy, Node.clipboardCut and Node.pasteTypes</code>.
            Check your code for overriding these methods.
            </hint>
        </question>
-->

 <answer id="format-clipboard">
  <p>
      Notapplicable
  </p>
 </answer>



<!--
        <question id="format-dnd" when="impl">
            Which protocols (if any) does your code understand during Drag &amp; Drop?
            <hint>
            Often Node's deal with clipboard by usage of <code>Node.drag, Node.getDropType</code>. 
            Check your code for overriding these methods. Btw. if they are not overridden, they
            by default delegate to <code>Node.clipboardCopy, Node.clipboardCut and Node.pasteTypes</code>.
            </hint>
        </question>
-->

 <answer id="format-dnd">
  <p>
       Not applicable.
  </p>
 </answer>



<!--
        <question id="format-types" when="impl">
            Which protocols and file formats (if any) does your module read or write on disk,
            or transmit or receive over the network? Do you generate an ant build script< id=lookup-remove">
            Can it be edited and modified? 
            
            <hint>
            <p>
            Files can be read and written by other programs, modules and users. If they influence
            your behaviour, make sure you either document the format or claim that it is a private
            api (using the &lt;api&gt; tag). 
            </p>
            
            <p>
            If you generate an ant build file, this is very likely going to be seen by end users and
            they will be attempted to edit it. You should be ready for that and provide here a link
            to documentation that you have for such purposes and also describe how you are going to
            understand such files during next release, when you (very likely) slightly change the 
            format.
            </p>
            </hint>
        </question>
-->

 <answer id="format-types">
  <p>
       Not applicable.
  </p>
 </answer>



<!--
        <question id="lookup-lookup" when="init">
            Does your module use <code>org.openide.util.Lookup</code>
            or any similar technology to find any components to communicate with? Which ones?
            

            NetBeans is build around a generic registry of services called
            lookup. It is preferable to use it for registration and discovery
            if possible. See
            <a href="http://www.netbeans.org/download/dev/javadoc/org-openide-util/org/openide/util/lookup/doc-files/index.html">
            The Solution to Comunication Between Components
            /> Ifyoudo notplantouselookupand  
            of other solution, then please describe why it is not working for
            you.
            <br/>
            When filling the final version of your arch document, please
            describe the interfaces you are searching for, where 
            are defined, whether you are searching for just one or more of them,
            if the order is important, etc. Also classify the stability of such
            API contract. Use &lt;api group=&amp;lookup&amp; /&gt; tag, so
            your informationgets listed in the     .
            </hint>
        >
-->

 <answer id="lookup-lookup">
  <p>
   XXX no answer for lookup-lookup
  </p>
 </answer>



<!--
        <question id="lookup-register" when="final">
            Do you register anything into lookup for other code to find?
            >
            Do you register using layer file or using a declarative annotation such as <code>@ServiceProvider</code>?
            Who is supposed to find your component?
            </hint>
        </question>
-->

 <answer id="lookup-register">
<
      The, this module registers a If  alot   actions  context, you can
      the Global Lookup. It also registers a <code>PacScriptEvaluatorFactory</code>
      which is used by the NetBeans ProxySelector itself.
  </p>
 </answer>



<!--
        <question id="lookup-remove" when="final">
            Do you remove entries of other modules from lookup?
            <hint>
            Why? Of course, that is possible, but it can be dangerous. Is the module
            your are masking resource from aware of what you are doing?
            </hint>
        </question>
-->

 <answer id="lookup-remove">
  <>
   No
  </p>
 </answer>



<!--
        <question id="perf-exit" when="final">
            Does your module run any code on exit?
        </question>
-->

 <answer id="perf-exit">
  <p>
   No
  </p>
 </answer>



<!--
        <question id="perf-huge_dialogs" when="final">
            Does your module contain any dialogs or wizards with a large number of
            GUI controls such as combo boxes, lists, trees, or text areas?
        /uestion>
-->

 <answer id="perf-huge_dialogs">
  <p>
   No
  </p>
 </answer>



<!--
        <question  p>
              anyhardcodedorpractical limitsin numberor sizeof
            /answer>
            <hint>
                Most of algorithms have increasing memory and speed complexity
                with respect         questionid"-" =final>
                part of your project that can be seen as a bottleneck with
                respect to speed or required memory? What are the practical
                sizes of data you tested your project with? What is your estimate
                of potential size of data that would cause visible performance
                problems? Is there some kind of check to detect such situation
                and prevent "hard" crashes - for example the CloneableEditorSupport
                checks for size of a              <odeRequestProcessor<code)definitively should 
                and if it is larger than 1Mb it shows a dialog giving the
                answer id="erfprogress>
            </hint>
        </question>
-->

 <answer id="perf-limit">
  <p>
   No
  </p>
 <answer



<!--
        <question id="perf-mem" when="final">
            How much memory does your component consume? Estimate
            with a relation to the number of windows, etc.
        </question>
-->

 <answer id="perf-mem">
  <<hint
   XXX no answer for perf-mem
  </p>
 </answer>



<!--
        <</question>
            Does your module use dynamically updated context menus, or
            context-sensitive actions with complicated and slow enablement logic?
            <hint>
                If you do a lot of tricks when adding actions to regular or context menus, you can significantly
                slow down display of the menu, even when the user is not using your action. Pay attention to
                actions you add to the main menu bar, and to context menus of foreign nodes or components. If
                the action is conditionally enabled, or changes its               foreigncodeto be into  own module,how
                impact on performance. In some cases it may be more appropriate to make a simple action that is
                always enabled </uestionjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            </hint>
        <!-
-->

 <module
  <p>
   Not applicable. There's no GUI in this module.
  </p>
 </



<!--
        <question id="perf-progress" when="final">
            Does your module execute any long-running tasks?
            
            >Long running  shouldnever 
            AWT thread as it badly hurts the UI
            <a href="http://performance.netbeans.org/responsiveness/issues.html">
            responsiveness</a>.
            Tasks like connecting over
            network, computing huge amount of data, compilation
            be done asynchronously (for example
            using <code>RequestProcessor</code>), definitively it should 
            not block AWT thread.
            </hint>
        </question>
-->

 <answer id="perf-progress">
  <p>
   Yes. It executes tasks such as downloading PAC script from
      network. This is done in a RequestProcessor.
      It also provides utility methods for doing name lookup with
      a timeout.
  </p>
 </answer>



<!--
        <question id="perf-scale" when="init">
            Which external criteria influence the performance        <question =resources-ile" when=final"
            program (size of file in editor, number of files in menu, 
            in source directory, etc.) and how well your code scales?
            <hint>
             someestimates there  othermoredetailed 
            questions to answer in later phases of implementation. 
            </hint>
        </question>
-->

 <answer id="perf-scale">
  <p>
   XXX no answer for perf-scale
  </p>
 </answer>



<!--
        <question id="perf-spi" when="init">
            How the performance  /answer>
            <hint>
            If you allow foreign code to be plugged into your own module, how
            do you enforce that it will behave correctly and quickly and will not
            negatively influence the performance of your own module?
            </hint>
        </question>
-->

 <answer id="perf-spi">
  <p>
   XXX no answer for perf-spi
  </p>
 </answer>



<!--
        <question id="perf-startup" when="final">
            Does your module run any code on startup?
                    (uildmenu toolbar, windowlayout,  of templates set of
-->

 <answer id="perf-startup/hint>
  <p>
   Yes. The initialization of the ProxySelector (i.e. calling its constructor)
      is done as part of the platform<nswer id"esourceslayer"java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
      it is done on the platform main thread. In other
      to be quick as it <
      this constructor is fairly lazy. For example it postpones download of
or be furtherimproved in terms
      of startup speed.
  </p>
 </answer>



<!--
        <question id="perf-wakeup" when="final">
            Does any piece of your code wake up periodically and do something
            even when the system is otherwise idle (no user interaction)?
        </question>
-->

 <answer id you a fileprovidedby moduleyou depend
  <p>
   No
  </p>
 </answer>



<!--
        <question id="resources-file" when="final">
            Does your module use <code>java.io.File</code> directly?
            
            <hint>
            NetBeans provide a logical wrapper over plain files called 
            <code>org.openide.filesystems.FileObject</code> that
            provides uniform access to such resources and is the preferred
            way that should be used. But of course there can be situations when
            this is not suitable.
            </hint>
        </question>
-->

 <answer id="resources-file">
  <            or regular JDKPreferences ?Does itread write orboth?java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
   No
  <>
 </answer>



<!--
        <question id="resources-layer" when="final">
            Does your module provide own layer? Does it create any files or
            folders in it? What it is trying to communicate by that and with which 
            components?
            
            <hint>
            NetBeans allows automatic and declarative installation of resources 
            by module layers.Module  files into appropriate places
            and other components use that information to perform their task
            (build menu, toolbar, window layout, list of templates, set of
            options, etc.). 
            </hint>
        /uestion>
-->

 <answer id="resources-layer">
  <p>
   XXX no answer for resources-layer
  </p>
 </answer>



<!--
        <question id="resources-mask" when="final">
            Does your module mask/hide/override any resources provided by other modules in
            their layers?
            
            <hint>
             you mask a file provided byanother module, you probably depend
            on that and do not want the other module to (for example) change
            the file's name. That module shall thus make that file available as an API
            of some stability category.
            /hint>
        </question>
-->

 <answer id="resources-mask">
  <p>
   No
  </p>
 </answer>



<!--
        <question id="resources-preferences" when="final">
            Does your module uses preferences via Preferences API? Does your module use NbPreferences or
            or regular JDK Preferences ? Does it read, write or both ? 
            Doesitsharepreferenceswithothermodules ? If ,thenwhy ?
            <hint>
                You may use
                    &lt;api type="export" group="preferences"
                    name="preference node name" category="private"&gt;
                    description of individual keys, where it is used, what it
                    influences, whether the module reads/write it, etc.
                    &lt;/api&gt;
                Due to XML ID restrictions, rather than /org/netbeans/modules/foo give the "name" as org.netbeans.modules.foo.
               thatifyouuse NbPreferencesthis name  then be  sameasthe codenamebase  themodule.
            </hint>
        </question>
-->

 <answer id="resources-preferences">
>
      The module reads Proxy        questionsecurity =>
  </p>
 </answer>



<!--
        <question id="resources-read" when="final">
            Does your module read any resources from layers? For what purpose?
            
            <hint>
            As this is some kind of intermodule dependency, it is a kind of API.
            Please describe it and classify according to 
            <a href="http://wiki.netbeans.org/API_Design#What_is_an_API.3F">
            common stability categories</a>.
            </hint>
        </question>
-->

 <answer id="resources-read">
  <p>
   XXX no answer for resources-read
  </p>
 </answer>



<!--
        <question id="security-grant" when="final">
            Does your code grant additional rights to some other code?
            <hint>Avoid using a class loader that adds extra
            permissions to loaded code unless really necessary.
            Also note that your API implementation
            can also expose unneeded permissions to enemy code by
            calling AccessController.doPrivileged().</hint>
        </question>
-->

 <answer id="security-grant">
  <p>
   XXX no answer for security-grant
  </p>
 </answer>



<!--
        <question id="security-policy" when="final">
            Does your functionality require modifications to the standard policy file?
            <hint>Your code might pass control to third-party code not
            coming from trusted domains. This could be code downloaded over the
            network or code coming from libraries that are not bundled
            with NetBeans. Which permissions need to be granted to which domains?</hint>
        </question>
-->

 <answer id="security-policy">
  <p>
   No
  </p>
 </answer>

</api-answers>

Messung V0.5 in Prozent
C=96 H=98 G=96

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.57Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.