|Home >> All >> org >> apache >> [ hivemind Javadoc ]|
Page 1 2
org.apache.hivemind: Javadoc index of package org.apache.hivemind.
org.apache.hivemind.impl.servicemodel: Implementations of interfaces defined in the org.apache.commons.hivemind package.
StrategyRegistry: An implementation of the strategy pattern. The strategy pattern allows new functionality to be assigned to an existing class. As implemented here, this is a smart lookup between a particular class (called the subject class ) and some object instance that can provide the extra functionality (called the strategy ). The implementation of the strategy is not relevant to the StrategyRegistry class. Strategies are registered before they can be used; the registration maps a particular class to a strategy instance. The strategy instance will be used when the subject class matches the registered class, ...
MethodMatcher: A utility class used for matching a org.apache.hivemind.service.MethodSignature against a method pattern (this is primarily used by interceptor factories ). A method pattern consists of a name pattern and an optional parameters pattern . The name pattern matches against the method name, and can be one of the following: A single name - which requires an exact match. Example: perform A name suffix, indicated with a leading '*'. Example: *form A name prefix, indicated with a trailing '*'. Example: per* A name substring, indicated with leading and trailing '*'s. Example: *erfo* . A match any, indicated ...
RegistrySerializer: This class serializes a set of module descriptors into a XML document . The set of module descriptors to process is specified indirectly by supplying one or several org.apache.hivemind.ModuleDescriptorProvider (see addModuleDescriptorProvider(ModuleDescriptorProvider) 55 ). In this respect this class is used the same way as org.apache.hivemind.impl.RegistryBuilder . There is even a corresponding static method 55 to serialize the modules of the default registry. The resulting XML file does not conform to the hivemind module deployment descriptor schema. The following changes occur: The outermost ...
ClassFab: Used when fabricating a new class. Represents a wrapper around the Javassist library. The core concept of Javassist is how method bodies (as well as constructor bodies, etc.) are specified ... as a very Java-like scripting language. The BodyBuilder class is very useful for assembling this method bodies. Details are available at the Javassist home page . Method bodies look largely like Java. References to java classes must be fully qualified. Several special variables are used: $0 first parameter, equivalent to this in Java code (and can't be used when creating a static method) $1, $2, ... actual ...
RegistryBuilder: Class used to build a org.apache.hivemind.Registry from individual org.apache.hivemind.parse.ModuleDescriptor . The descriptors are provided by the org.apache.hivemind.ModuleDescriptorProvider parameter passed to constructRegistry(Locale) 55 method. A note about threadsafety: The assumption is that a single thread will access the RegistryBuilder at one time (typically, a startup class within some form of server or application). Code here and in many of the related classes is divided into construction-time logic and runtime logic. Runtime logic is synchronized and threadsafe. Construction-time logic ...
Resource: Describes the location of a resource, such as a module deployment descriptor, or a messages file. Resources may be either base or localized. A localized version of a base resource may be obtained via getLocalization(Locale) 55 . Resource locations are used as Map keys, they must implement Object.hashCode() > Object.hashCode() 55 and Object.equals(java.lang.Object) > Object.equals(java.lang.Object) 55 properly. Resource locations are valid even if the corresponding resource doesn't exist . To verify if a localization actually exists, use getResourceURL() 55 , which returns null if the resource doesn't ...
ChainBuilder: Service interface for hivemind.lib.ChainBuilder , a service which can assemble an implementation based on a command interface, and an ordered list of objects implementing that interface (the "commands"). This is an implementation of the Gang of Four Chain Of Command pattern. For each method in the interface, the chain implementation will call the corresponding method on each command object in turn. If any of the command objects return true, then the chain of command stops and the initial method invocation returns true. Otherwise, the chain of command continues to the next command (and will return ...
Translator: Object which can translate a string into an object value. This is used to translate attribute values (or element content) from strings into numbers, booleans or other constructs before assigning the final value to a propery. Translation occurs after symbol substitution. Translator classes should have a public constructor that takes no arguments. They may optionally have a second constructor that takes a single string as a parameter. When the org.apache.hivemind.parse.DescriptorParser encounters a translator of the form " translator-id , initialization-string " (example: "int,min=0") it will use ...
ModuleDescriptorProvider: ModuleDescriptorProviders are used by the org.apache.hivemind.impl.RegistryBuilder (see RegistryBuilder.addModuleDescriptorProvider(ModuleDescriptorProvider) > RegistryBuilder.addModuleDescriptorProvider(ModuleDescriptorProvider) 55 ) to load the org.apache.hivemind.parse.ModuleDescriptor objects describing the Modules which will be exposed by the Registry. HiveMind's default ModuleDescriptorProvider is the org.apache.hivemind.impl.XmlModuleDescriptorProvider , which can load module descriptors from XML files or resources on the classpath.
ConversionDescriptor: Descriptor for the <conversion> module descriptor element. This descriptor implements the org.apache.hivemind.schema.Rule interface and is added as a standard rule to the containing org.apache.hivemind.schema.ElementModel . When processed it delegates to a org.apache.hivemind.schema.rules.CreateObjectRule , a bunch of org.apache.hivemind.schema.rules.ReadAttributeRule , and finally an org.apache.hivemind.schema.rules.InvokeParentRule .
ConstructRegistry: Reads some number of hivemodule deployment descriptors (specified as a fileset) and builds a composite registry by simply concatinating them all. The resulting file is suitable for passing through an XSLT processor to create documentation. The resulting XML file does not conform to the hivemind module deployment descriptor schema. The following changes occur: The outermost element is <registry> (which contains a list of <module>) A unique id (unique within the file) is assigned to each <module>, <configuration-point>, <service-point>, <contribution>, &tl;schema> ...
RegistryShutdownListener: Lifecycle interface that may be implemented by objects that need to know when the org.apache.hivemind.Registry has shutdown. Typically, this is implemented by core service implementations (as well as many proxies created by HiveMind). A core service implementation that implements this interface will automatically be registered for notifications (exception: not if the service uses the threaded service model). Using this notification is preferrable to implementing a finalize() since it will be invoked at a known time. The order in which listeners will be invoked is not well known. In the future, ...
StartupImpl: Startup service for the HiveMind Registry. This service is invoked as the last step 55 of the registry construction 55 . All contributions (java.lang.Runnable objects) to the hivemind.Startup configuration point are executed serially in an arbitrary order. Note that the contributions are not executed in separate Threads. HiveMind contributes the hivemind.EagerLoad (see org.apache.hivemind.service.impl.EagerLoader ) service to the hivemind.Startup configuration.
Module: The definition of a HiveMind Module. A Module is a container of service extension points and configuration extension points. It also acts as a "gateway" so that services and configurations in other modules may be accessed. Why do we expose the Module rather than the RegistryInfrastructure ? It's more than just qualifying ids before passing them up to the RI. At some future point, a concept of visibility will be added to HiveMind. This will make many services and configurations private to the module which defines them and the necessary visibility filtering logic will be here.
HiveMindBuilder: The HiveMindBuilder is a groovy markup builder which can be used to define HiveMind module descriptors using a Groovy script. A single Groovy script must only define one module descriptor. The markup in the Groovy script is equivalent to the XML markup for module descriptors. The only difference being that any dashes in element names and attribute names (which would confuse the Groovy parser) are replaced by a camelCase notation. So for example configuration-point becomes configurationPoint in a Groovy script.
Schema: An object which may contain a model, used to identify the form of XML content allowed within some other, containing element. This is very much provisional; in the future will be more control for validation (i.e, controlling the number of occurances), and support for analogs of W3C SChema sequence and choice. The excess flexibility here forces some validation into element objects (the objects created from the Rule s within the ElementModel s).
AbstractArgumentMatcher: Base class that bridges from EasyMock's org.easymock.AbstractMatcher to HiveMind's ArgumentMatcher . Since all the ArgumentMatcher implementations extend this class, each can be used with AbstractArgumentMatcher to compare a single argument, or on its own to match all arguments.
StrategyFactory: Implementation of the hivemind.lib.StrategyFactory service that constructs a service where the first parameter of each method is used to selecte a strategy from an org.apache.hivemind.lib.util.StrategyRegistry . The method invocation is then delegated to the strategy instance. The service factory parameter defines a configuration (of StrategyContribution s) that provide the mapping from Java classes (or interfaces) to adapter instances.
MethodSignature: A representation of a java.lang.reflect.Method , identifying the name, return type, parameter types and exception types. Actual Method objects are tied to a particular class, and don't compare well with other otherwise identical Methods from other classes or interface; MethodSignatures are distinct from classes and compare well. Because the intended purpose is to compare methods from interfaces (which are always public and abstract) we don't bother to actually track the modifiers. In addition, at this time, MethodSignature does not distinguish between instance and static methods .
ClassResolver: An object which is used to resolve classes and class-path resources. This is needed because, in an application server, different class loaders may be involved in loading different HiveMind modules. For example, the HiveMind library may be on the system claasspath, and modules may include EJBs and WARs, each loaded by a different classloader. The class loader for the framework needs to be able to see resources in the application, but the application's class loader is a descendent of the framework's class loader. To resolve this, we need a 'hook', an instance that provides access to the application's ...
SourceHighlighterTransformer: Cocoon transformer that highlights java and xml source code. Supports the javasource, xmlsource, javasourcefiles and xmlsourcefile attributes. javasource/xmlsource: the content embedded in the tag is highlighted javasourcefile/xmlsourcefile: the file referenced by the file attribute is loaded, hightlighted and inserted at the tag position. The source file names must be defined relative. Multiple root folders can be defined in sitemap.xmap by the parameter sourcepath . Multiple paths must be separated by semicolons. A file is searched for in all root paths in the order of definition.
XmlResourceProcessor: The XmlResourceProcessor processes XML resources using the DescriptorParser which is used as a SAX ContentHandler. The result of processing a resource 55 is a ModuleDescriptor .
AbstractParser: Abstract super-class for parsers based around the SAX event model. This class provides support for managing a stack of elements, making it reasonable to establish relationships between elements. It also assists in setting the org.apache.hivemind.Location of elements as they are created. This support is structured around both XML but is suited towards configuration files rather than documents, in that the content (parsable character data) within an element is concatinated together and tracked as a single blob.
BuilderFactory: Implementation of org.apache.hivemind.ServiceImplementationFactory that can instantiate an object and then configure its properties. Some thought has been given to using bytecode generation to create properties for messages, extension point id, and so forth. This is being avoided because it undermines the ability to test service implemenations as POJOs, outside the framework of HiveMind. Instead the service is configured by means of the implementation's constructor and setter methods.
BeanFactoryObjectProvider: An org.apache.hivemind.service.ObjectProvider that references a named (or named and initialized) bean from a org.apache.hivemind.lib.BeanFactory . The translator string is of the form: service-id:name[,initializer] . That is, the text after the colon is an initializer passed to BeanFactory.get(String) > BeanFactory.get(String) 55 .