This page summarizes most frequently asked questions for JSINER. Please feel free to contact us if you have some specific question which is not listed here.

What is necessary to use JSINER?

In general, to use lazy inheritance supported by JSINER, the implementation of JSINER should be loaded (one which includes implementation of extend() method as well as basic implementation of transport layer which is used to load dependent external scripts. To make sure that lazy inheritance works correctly, you need insure that JSINER related code is loaded before actual creation of instances of classes wich use lazy inheritance. Therefore JSINER should be loaded within <header> HTML tag.

How usage of JSINER affects performance of new instances creation?

Lazy Inheritance decreases time needed for initial loading of external JavaScript files. So, the first creation of appropriate JavaScript instance could be slightly more time consuming, but further creation of instances of the same class requires the same amount of time as if classical inheritance is used.

How JSINER loads requried external scripts?

JSINER includes special abstraction layer which is responsible for loading external scripts. Some basic implementation of this transport layer is included into JSINER distribution, however it's possible to replace it by custom implementation.
In general, lazy loading of required external scripts could be disabled since in some situation it may have some unwanted side-effects and therefore it should be used with caution. For example, such side effects of lazy loading of external scripts may appear if it is invoked, for example, within some event handler.

How to replace transport layer by custom implementation?

To replace bundled transport layer to custom one, you need to override JSINER.inject property by custom transport function. The code will look like this:

  JSINER.inject =
   function(aDependency, aCallBack)

Where aDependency - array of dependency keys which should be resolved (that array is passed to setDependency() function, and aCallBack - reference to function which will be invoked when all object dependencies are loaded.

How JSINER determines which external scripts should be loaded?

JSINER offers static method JSINER.getScriptURI() which allows to mapa key of external script (in other words, key which was used during script registration in the setDependency() method) with actual external JavaScript resource. Based on that key and resolved URI of external script, JSINER performs check whether that script was already loaded using transport layer or was attached using standard HTML tag <script>.

If necessary, both these methods may be replaced by custom implementations.

Which license is JSINER released under?

JSINER is Open Source project. It is licensed 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 Apache License 2.0 license. 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.

What should I do if I found a bug?

Let us know it! Please submit bugs and feature ideas or patches to the email [email protected], and we’ll get on it.

I have some question or suggestion regarding JSINER. How could I submit them to you?

Please do not hesitate contacting us if you have any questions, comments, suggestions or simply find some issues with JSINER. Please send us your feedback via email using [email protected] email addresss. Logo   Support This Project