Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Page 1   2  
org.apache.derby.iapi.services.loader.* (9)org.apache.derby.iapi.services.locks.* (8)
org.apache.derby.iapi.services.monitor.* (5)org.apache.derby.iapi.services.property.* (5)
org.apache.derby.iapi.services.sanity.* (3)org.apache.derby.iapi.services.stream.* (3)
org.apache.derby.iapi.services.uuid.* (1)

Package Samples:

org.apache.derby.iapi.services.loader
org.apache.derby.iapi.services.locks
org.apache.derby.iapi.services.monitor
org.apache.derby.iapi.services.property
org.apache.derby.iapi.services.sanity
org.apache.derby.iapi.services.stream
org.apache.derby.iapi.services.uuid

Classes:

Monitor: Services A service is a collection of modules that combine to provide the full functionality defined by the service. A service is defined by three pieces of information: A fully qualified java class name that identifies the functionality or API that the service must provide. Typically this class represents a java interface. This class name is termed the factory interface . The identifier of the service. Services are identified by a String, this may be hard-coded, come from a UUID or any other source. An optional java.util.Properties set. The running functionality of the service is provided by a ...
ProductVersionHolder: Class to hold a cloudscape Product version. This class includes the following product version features. Save the product version information this holds as a String. We call the string a 'product version string'. Construct a ProductVersionHolder from a valid 'product version string'. Determine if two product versions are feature compatible. This means products of these versions may interoperate with ***NO*** compatibility problems. Determine if two product versions are the same. This is a stronger test than the test for feature compatibility. Cloudscape 5.1 and older versions used the majorVersion, ...
JavaFactory: JavaFactory provides generators for Java constructs. Once Java constructs have been connected into a complete class definition, the class can be generated from them. The generated class is created as a byte-code array that can then be loaded by a class loader or, in our case, the class utilities wrapper around our special class loader. Each method shows the equivalent Java in the line starting "Java:" in the header comment. Items in the java code that begin with # refer to parameters used in constructing the object. So, for example, newReturnStatement takes a parameter named value; its Java code ...
Lockable: Any object that needs to be locked must implement Lockable. This allows a generic lock manager that can have locking policies defined on a per-object basis. A request to lock the object takes a qualifier, this qualifier may be used the object to implement a complex locking policy, e.g. traditional database shared, update and exclusive locks. The lock manager uses this ordered protocol to determine if a lock request on a Lockable L with qualifier Q1 in compatiblity space CS1 can be granted: If no locks are held on L in any compatability space then the request is granted. If L.requestCompatible(Q1) ...
StoredFormatIds: A format id identifies a stored form of an object for the purposes of locating a class which can read the stored form and reconstruct the object using the java.io.Externalizable interface. An important aspect of the format id concept is that it does not impose an implementation on the stored object. Rather, multiple implementations of an object (or interface) may share a format id. One implementation may store (write) an object and another may restore (read) the object. The implication of this is that a format id specifies the following properties of a stored object. The interface(s) the stored ...
FormatIdOutputStream: A stream for serializing objects with format id tags. An ObjectOutput (henceforth 'out') preceeds objects it writes with a format id. The companion FormatIdInputStream (henceforth 'in') uses these format ids in parsing the stored data. The stream can be thought of as containing a sequence of (formatId,object) pairs interspersed with other data. The assumption is that out.writeObject() produces these pairs and in.readObject() uses the format ids to construct objects from the pairs that out.writeObject produced. The description below describes each supported pair and how in.readObject() processes ...
Cacheable: Any object that implements this interface can be cached using the services of the CacheManager/CacheFactory. In addition to implementing this interface the class must be public and it must have a public no-arg constructor. This is because the cache manager will construct objects itself and then set their identity by calling the setIdentity method. A Cacheable object has five states: No identity - The object is only accessable by the cache manager Identity, clean, unkept - The object has an identity, is clean but is only accessable by the cache manager Identity, clean, kept - The object has an identity, ...
CacheableFactory: Any object that implements this interface can be cached using the services of the CacheManager/CacheFactory. In addition to implementing this interface the class must be public and it must have a public no-arg constructor. This is because the cache manager will construct objects itself and then set their identity by calling the setIdentity method. A Cacheable object has five states: No identity - The object is only accessable by the cache manager Identity, clean, unkept - The object has an identity, is clean but is only accessable by the cache manager Identity, clean, kept - The object has an identity, ...
DaemonFactory: Daemon Factory can create new DaemonService, which runs on seperate background threads. One can use these DaemonService to handle background clean up task by implementing Serviceable and subscribing to a DaemonService. A DaemonService is a background worker thread which does asynchronous I/O and general clean up. It should not be used as a general worker thread for parallel execution. A DaemonService can be subscribe to by many Serviceable objects and a daemon will call that object's performWork from time to time. These performWork method should be well behaved - in other words, it should not take ...
Context: Contexts are created and used to manage the execution environment. They provide a convenient location for storing globals organized by the module using the globals. A basic context implementation is provided as an abstract class; this implementation satisfies the interface and should in general be used as the supertype of all context types. Otherwise, context classes must satisfy the semantics of the interface through their own distinct implementations. Contexts assist in cleanup when errors are caught in the outer block. Use of context cleanup is preferred over using try/catch blocks throughout ...
PersistentService: A PersistentService modularises the access to persistent services, abstracting out details such as finding the list of services to be started at boot time, finding the service.properties file and creating and deleting the persistent storage for a service. These modules must only be used by the monitor. Possible examples of implementations are: Store services in a directory in the file system. Store services in a zip file Service data is provided by a web server Service data is stored on the class path. This class also serves as the registry the defined name for all the implementations of PersistentService. ...
FormatIdUtil: Utility class with static methods for constructing and reading the byte array representation of format id's. This utility supports a number of families of format ids. The byte array form of each family is a different length. In all cases the first two bits of the first byte indicate the family for an id. The list below describes each family and gives its two bit identifier in parens. (0) - The format id is a one byte number between 0 and 63 inclusive. The byte[] encoding fits in one byte. (1) - The format id is a two byte number between 16384 to 32767 inclusive. The byte[] encoding stores the high ...
SanityManager: The SanityService provides assertion checking and debug control. Assertions and debug checks can only be used for testing conditions that might occur in development code but not in production code. They are compiled out of production code. Uses of assertions should not add AssertFailure catches or throws clauses; AssertFailure is under RuntimeException in the java exception hierarchy. Our outermost system block will bring the system down when it detects an assertion failure. In addition to ASSERTs in code, classes can choose to implement an isConsistent method that would be used by ASSERTs, UnitTests, ...
Serviceable: To use a DaemonService, one implements the Serviceable interface. Only one DaemonService will call this at any given time. However, if this Serviceable object subscribes to or enqueues to the DeamonService multiple times, then multiple DaemonService threads may call this Serviceable object at the same time. The Serviceable object must decide what synchronization it needs to provide depending on what work it needs to do. The Serviceable interface does not provide a way to pass a work object to identify what work needs to be done, it is assumed that the Serviceable object knows that. If a Serviceable ...
CipherFactory: A CipherFactory can create new CipherProvider, which is a wrapper for a javax.crypto.Cipher This service is only available when run on JDK1.2 or beyond. To use this service, either the SunJCE or an alternative clean room implementation of the JCE must be installed. To use a CipherProvider to encrypt or decrypt, it needs 3 things: 1) A CipherProvider that is initialized to ENCRYPT or DECRYPT 2) A secret Key for the encryption/decryption 3) An Initialization Vector (IvParameterSpec) that is used to create some randomness in the encryption See $WS/docs/funcspec/mulan/configurableEncryption.html See ...
CipherProvider: A CipherProvider is a wrapper for a Cipher class in JCE. This service is only available when run on JDK1.2 or beyond. To use this service, either the SunJCE or an alternative clean room implementation of the JCE must be installed. To use a CipherProvider to encrypt or decrypt, it needs 3 things: 1) A CipherProvider that is initialized to ENCRYPT or DECRYPT 2) A secret Key for the encryption/decryption 3) An Initialization Vector (IvParameterSpec) that is used to create some randomness in the encryption See $WS/docs/funcspec/mulan/configurableEncryption.html See http://java.sun.com/products/JDK/1.1/docs/guide/security/CryptoSpec.html ...
DiagnosticUtil: The Diagnostic framework is meant to provide a way to include as much diagnostic capability within the distributed release of the cloudscape product without adversely affecting the runtime speed or foot print of a running configuration that needs not use this information. In order to decrease the class size of running objects diagnostic information should be put in "helper" classes. So to provide diagnostic capabiility on the implementation of class Foo.java create a class D_Foo.java. Class D_Foo must implement the Diagnosticable interface. This class provide utility functions to get at the information ...
ClassBuilder: ClassBuilder is used to construct a java class's byte array representation. Limitations: No checking for language use violations such as invalid modifiers or duplicate field names. All classes must have a superclass; java.lang.Object must be supplied if there is no superclass. When a class is first created, it has: a superclass modifiers a name a package no superinterfaces, methods, fields, or constructors an empty static initializer MethodBuilder implementations are required to get code out of the constructs within their bodies in some manner. Most typically, they may have a stream to which the ...
ProductGenusNames: Holder class for cloudscape genus names. A product genus defines a product's category (tools, DBMS etc). For some categories, Cloudscape ships more than one product. Each product, within the genus has a unique product species. A correct run time environment should include at most one Cloudscape product of a given genus. This helps avoid situations in which the environment loads classes from more than one product. a user runs with a mix of classes from different Please not that the list provided here serves to document product genus names and to facile consistent naming in code. Because the list ...
PropertyUtil: There are 5 property objects within a JBMS system. 1) JVM - JVM set - those in System.getProperties 2) APP - Application set - derby.properties file 3) SRV - Persistent Service set - Those stored in service.properties 4) TRAN - Persistent Transactional set - Those stored via the AccessManager interface 5) BOOT - Set by a boot method (rare) This class has a set of static methods to find a property using a consistent search order from the above set. getSystem*() methods use the search order. JVM APP getService* methods use the search order JVM TRAN SRV APP
RegisteredFormatIds: Registration of TypedFormat classes. A TypedFormat is registered by placing a class name at the correct place in the correct array, driven by the base format number: 2 byte - MIN_TWO_BYTE_FORMAT_ID - TwoByte The offset from the base format number (0 based) gives the offset in the array. The class name is either: The actual class name of the TypeFormat. The name of a class that extends org.apache.derby.iapi.services.io.FormatableInstanceGetter. In this case the monitor will register an instance of the class after calling its setFormatId() method with format id it is registered as.
MethodBuilder: MethodBuilder is used to generate the code for a method. The code for a method is built in a way that corresponds to the layout of the stack machine that is the Java Virtual Machine. Values are pushed on the stack, moved about on the stack and then popped off the stack by operations such as method calls. An understanding of hoe the JVM operates is useful before using this class. All the method descriptions below are generating bytecode to achieved the desired behaviour when the generated class is loaded. None of this class's methods calls actually invoke methods or create objects described by the ...
DaemonService: A DaemonService provides a background service which is suitable for asynchronous I/O and general clean up. It should not be used as a general worker thread for parallel execution. A DaemonService can be subscribe to by many Serviceable objects and a DaemonService will call that object's performWork from time to time. These performWork method is defined by the client object and should be well behaved - in other words, it should not take too long or hog too many resources or deadlock with anyone else. And it cannot (should not) error out. MT - all routines on the interface must be MT-safe.
ContextImpl: Contexts are created and used to manage the execution environment. They provide a convenient location for storing globals organized by the module using the globals. We provide this abstract class for other implementations to use so that they can simply add fields and operations on them. To be usable by the context manager, the subclasses must define CleanupOnError and call super() in any constructor. Contexts assist in cleanup when errors are caught in the outer block. Contexts implement the sanity interface to check and provide information about their contents.
VirtualLockTable: This class acts as a conduit of information between the lock manager and the outside world. Once a virtual lock table is initialized, it contains a snap shot of all the locks currently held in the lock manager. A VTI can then be written to query the content of the lock table. Each lock held by the lock manager is represented by a Hashtable. The key to each Hashtable entry is a lock attribute that is of interest to the outside world, such as transaction id, type, mode, etc.

Home | Contact Us | Privacy Policy | Terms of Service