Java Doc for RequiredModelMBean.java in  » JMX » jfoxmx » javax » management » modelmbean » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » JMX » jfoxmx » javax.management.modelmbean 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   javax.management.modelmbean.RequiredModelMBean

RequiredModelMBean
public class RequiredModelMBean implements ModelMBean,MBeanRegistration(Code)
This class is the implementation of a ModelMBean. An appropriate implementation of a ModelMBean must be shipped with every JMX Agent and the class must be named RequiredModelMBean.

Java resources wishing to be manageable instatiate the RequiredModelMBean using the MBeanServer's createMBean method. The resource then sets the MBeanInfo and Descriptors for the RequiredModelMBean instance. The attributes and operations exposed via the ModelMBeanInfo for the ModelMBean are accessible from Mbeans, connectors/adapters like other MBeans. Through the Descriptors, values and methods in the managed application can be defined and mapped to attributes and operations of the ModelMBean. This mapping can be defined in an XML formatted file or dynamically and programmatically at runtime.

Every RequiredModelMBean which is instantiated in the MBeanServer becomes manageable: its attributes and operations become remotely accessible through the connectors/adaptors connected to that MBeanServer. A Java object cannot be registered in the MBeanServer unless it is a JMX compliant MBean. By instantiating a RequiredModelMBean, resources are guaranteed that the MBean is valid. MBeanException and RuntimeOperatiosException must be thrown on every public method. This allows for wrappering exceptions from distributed communications (RMI, EJB, etc.)
author:
   Young Yang




Constructor Summary
public  RequiredModelMBean()
     Constructs an RequiredModelMBean with an empty ModelMBeanInfo.
public  RequiredModelMBean(ModelMBeanInfo mbeanInfo)
     Constructs a RequiredModelMBean object using ModelMBeanInfo passed in.

Method Summary
public  voidaddAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback)
     Registers an object which implements the NotificationListener interface as a listener.
public  voidaddNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
     Registers an object which implements the NotificationListener interface as a listener.
public  ObjectgetAttribute(String attributeName)
     Returns the value of a specific attribute defined for this ModelMBean.
 The last value returned by an attribute may be cached in the attribute's descriptor.
 The valid value will be in the 'value' field if there is one.
 If the 'currencyTimeLimit' field in the descriptor is:
 null
 <0 Then the value is not cached and is never valid.
public  AttributeListgetAttributes(String[] attributes)
     Returns the values of several attributes in the ModelMBean. Executes a getAttribute for each attribute name in the attrNames array passed in.
Parameters:
  attributes - A String array of names of the attributes to be retrieved.
public  MBeanInfogetMBeanInfo()
    
public  MBeanNotificationInfo[]getNotificationInfo()
     Returns the array of Notifications always generated by the RequiredModelMBean.
public  Objectinvoke(String operationName, Object[] params, String[] signature)
     Invokes a method on or through a RequiredModelMBean and returns the result of the method execution.
 The last value returned by an operation may be cached in the operation's descriptor which
 is in the ModelMBeanOperationInfo's descriptor.
 The valid value will be in the 'value' field if there is one.
 If the 'currencyTimeLimit' field in the descriptor is:
 null
 <0 Then the value is not cached and is never valid.
public  voidload()
    
public  voidpostDeregister()
    
public  voidpostRegister(Boolean registrationDone)
    
public  voidpreDeregister()
    
public  ObjectNamepreRegister(MBeanServer server, ObjectName name)
    
public  voidremoveAttributeChangeNotificationListener(NotificationListener listener, String attributeName)
     Removes a listener for attributeChangeNotifications from the RequiredModelMBean.
public  voidremoveNotificationListener(NotificationListener listener)
     Removes a listener for Notifications from the RequiredModelMBean.
public  voidremoveNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
    
public  voidsendAttributeChangeNotification(AttributeChangeNotification notification)
     Sends an attributeChangeNotification which is passed in to the registered attributeChangeNotification listeners on the ModelMBean.
public  voidsendAttributeChangeNotification(Attribute oldAttribute, Attribute newAttribute)
     Sends an attributeChangeNotification which contains the old value and new value for the attribute to the registered AttributeChangeNotification listeners on the RequiredModelMBean.
public  voidsendNotification(Notification notification)
     Sends a Notification which is passed in to the registered Notification listeners on the RequiredModelMBean.
public  voidsendNotification(String message)
     Sends a Notification which contains the text string that is passed in to the registered Notification listeners on the ModelMBean.
public  voidsetAttribute(Attribute attribute)
     Sets the value of a specific attribute of a named ModelMBean. If the 'setMethod' field of the attribute's descriptor contains the name of a valid operation descriptor, then the method described by the operation descriptor is executed.
public  AttributeListsetAttributes(AttributeList attributes)
     Sets the values of an array of attributes of this ModelMBean. Executes the setAttribute() method for each attribute in the list.
Parameters:
  attributes - A list of attributes: The identification of theattributes to be set and the values they are to be set to.
public  voidsetManagedResource(Object resource, String type)
     Sets the instance handle of the object against which to execute all methods in this RequiredModelMBean management interface (ModelMBeanInfo and Descriptors).
public  voidsetModelMBeanInfo(ModelMBeanInfo mbeanInfo)
     Initializes a RequiredModelMBean object using ModelMBeanInfo passed in.
public  voidstore()
    


Constructor Detail
RequiredModelMBean
public RequiredModelMBean() throws MBeanException, RuntimeOperationsException(Code)
Constructs an RequiredModelMBean with an empty ModelMBeanInfo. After the RequiredModelMBean's MBeanInfo and Descriptors are customized, the RequiredModelMBean should be registered with the MBeanServer.


exception:
  MBeanException - The constructor of the object has thrown an exception.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException.




RequiredModelMBean
public RequiredModelMBean(ModelMBeanInfo mbeanInfo) throws MBeanException, RuntimeOperationsException(Code)
Constructs a RequiredModelMBean object using ModelMBeanInfo passed in. The RequiredModelMBean must be instantiated, but not registered with the MBeanServer. After the RequiredModelMBean's MBeanInfo and Descriptors are customized, the RequiredModelMBean should be registered with the MBeanServer.


Parameters:
  mbeanInfo - The ModelMBeanInfo object to be used by the RequiredModelMBean.
exception:
  MBeanException - The constructor of the object has thrown an exception.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException:The MBeanInfo passed in parameter is null or invalid.





Method Detail
addAttributeChangeNotificationListener
public void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException(Code)
Registers an object which implements the NotificationListener interface as a listener. This object's 'handleNotification()' method will be invoked when any attributeChangeNotification is issued through or by the ModelMBean. This does not include other Notifications. They must be registered for independently. An AttributeChangeNotification will be generated for this attributeName.
Parameters:
  listener - The listener object which will handles notifications emitted by the registered MBean.
Parameters:
  attributeName - The name of the ModelMBean attributeName for which to receive change notifications.If null, then all attributeName changes will cause an attributeChangeNotification to be issued.
Parameters:
  handback - The context to be sent to the listener with the notification when a notification is emitted.
exception:
  IllegalArgumentException - The MBean name doesn't correspond to a registered MBean.



addNotificationListener
public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws IllegalArgumentException(Code)
Registers an object which implements the NotificationListener interface as a listener. This object's 'handleNotification()' method will be invoked when any notification is issued through or by the ModelMBean. This does not include attributeChangeNotifications. They must be registered for independently.
Parameters:
  listener - The listener object which will handles notifications emitted by the registered MBean.
Parameters:
  filter - The filter object. If null, no filtering will be performed before handling notifications.
Parameters:
  handback - The context to be sent to the listener with the notification when a notification is emitted.
exception:
  IllegalArgumentException - The listener could not be added.



getAttribute
public Object getAttribute(String attributeName) throws AttributeNotFoundException, MBeanException, ReflectionException(Code)
Returns the value of a specific attribute defined for this ModelMBean.
 The last value returned by an attribute may be cached in the attribute's descriptor.
 The valid value will be in the 'value' field if there is one.
 If the 'currencyTimeLimit' field in the descriptor is:
 null
 <0 Then the value is not cached and is never valid.  Null is returned.
 The 'value' and 'lastUpdatedTimeStamp' fields are cleared.
 =0 Then the value is always cached and always valid.  The 'value' field is returned.
 The 'lastUpdatedTimeStamp' field is not checked.
 >0 Represents the number of seconds that the 'value' field is valid.
 The 'value' field is no longer valid when 'lastUpdatedTimeStamp' + 'currencyTimeLimit' > Now.
 When 'value' is valid, 'valid' is returned.
 When 'value' is no longer valid then null is returned and ;value' and 'lastUpdatedTimeStamp'
 fields are cleared.
 
If there is no valid cached value then the 'getMethod' field in the attributes descriptor is analyzed. If 'getMethod' contains the attributeName of a valid operation descriptor, then the method described by the operation descriptor is executed. The response from the method is returned as the value of the attribute. If the operation fails or the response value is not of the same type as the attribute, an exception will be thrown. If currencyTimeLimit is > 0, then the value of the attribute is cached in the attribute descriptor's 'value' field and the 'lastUpdatedTimeStamp' field is set to the current time stamp.
Parameters:
  attributeName - A String specifying the attributeName of the attribute to beretrieved. It must match the attributeName of a ModelMBeanAttributeInfo. The value of the retrieved attribute from the descriptor 'value' field or from theinvokation of the operation in the 'getMethod' field of the descriptor.
exception:
  AttributeNotFoundException - The specified attribute is not accessible in the MBean.
exception:
  MBeanException - Wraps an exception thrown by the MBean's getter.
exception:
  ReflectionException - Wraps an java.lang.Exception thrown while trying to invoke the setter.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException: The object attributeName in parameter is null orthe attribute in parameter is null.



getAttributes
public AttributeList getAttributes(String[] attributes)(Code)
Returns the values of several attributes in the ModelMBean. Executes a getAttribute for each attribute name in the attrNames array passed in.
Parameters:
  attributes - A String array of names of the attributes to be retrieved. The array of the retrieved attributes.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException: The object name in parameter is null orattributes in parameter is null.



getMBeanInfo
public MBeanInfo getMBeanInfo()(Code)



getNotificationInfo
public MBeanNotificationInfo[] getNotificationInfo()(Code)
Returns the array of Notifications always generated by the RequiredModelMBean. This will include those specified by the application plus the jmx.modelmbean.generic and jmx.attribute.change notifications. MBeanNotificationInfo[]



invoke
public Object invoke(String operationName, Object[] params, String[] signature) throws MBeanException, ReflectionException(Code)
Invokes a method on or through a RequiredModelMBean and returns the result of the method execution.
 The last value returned by an operation may be cached in the operation's descriptor which
 is in the ModelMBeanOperationInfo's descriptor.
 The valid value will be in the 'value' field if there is one.
 If the 'currencyTimeLimit' field in the descriptor is:
 null
 <0 Then the value is not cached and is never valid.  Null is returned.
 The 'value' and 'lastUpdatedTimeStamp' fields are cleared.
 =0 Then the value is always cached and always valid.  The 'value' field is returned.
 The 'lastUpdatedTimeStamp' field is not checked.
 >0 Represents the number of seconds that the 'value' field is valid.
 The 'value' field is no longer valid when 'lastUpdatedTimeStamp' + 'currencyTimeLimit' > Now.
 When 'value' is valid, 'valid' is returned.
 When 'value' is no longer valid then null is returned and ;value' and 'lastUpdatedTimeStamp'
 fields are cleared.
 Note: For this implementation: if the cached value is not a String, then the object must have
 a constructor which accepts a string in the same format as the objects toString() method creates.
 

Parameters:
  operationName - The name of the method to be invoked. The name can be the fully qualifiedmethod name including the classname, or just the method name if the classname is defined in the 'class'field of the operation descriptor.
Parameters:
  params - An array containing the parameters to be set when the operation isinvoked
Parameters:
  signature - An array containing the signature of the operation. The class objects willbe loaded using the same class loader as the one used for loading the MBean on which the operatoion was invoked. The object returned by the method, which represents the result of invoking the method on thespecified managed resource.
exception:
  MBeanException - Wraps an exception thrown by the MBean's invoked method.
exception:
  ReflectionException - Wraps an java.lang.Exception thrown while trying to invoke the method.



load
public void load() throws MBeanException, RuntimeOperationsException, InstanceNotFoundException(Code)
load a modelMBean from a serialized file, if the ModelMBean is initliazing, use it's ClassName + ".ser" as it's filename, or will look for the MBeanDescriptor
throws:
  MBeanException -
throws:
  RuntimeOperationsException -
throws:
  InstanceNotFoundException -



postDeregister
public void postDeregister()(Code)



postRegister
public void postRegister(Boolean registrationDone)(Code)



preDeregister
public void preDeregister() throws Exception(Code)



preRegister
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception(Code)



removeAttributeChangeNotificationListener
public void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException(Code)
Removes a listener for attributeChangeNotifications from the RequiredModelMBean.
Parameters:
  listener - The listener name which was handling notifications emitted by the registered MBean.This method will remove all information related to this listener.
Parameters:
  attributeName - The attributeName for which the listener no longer wants to receive attributeChangeNotifications.
exception:
  ListenerNotFoundException - The couple (listener,handback) is not registered in the MBean.The exception message contains either "listener", "handback" or the object name depending on which object cannot be found.



removeNotificationListener
public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException(Code)
Removes a listener for Notifications from the RequiredModelMBean.
Parameters:
  listener - The listener name which was handling notifications emitted by the registered MBean.This method will remove all information related to this listener.
exception:
  ListenerNotFoundException - The couple (listener,handback) is not registered in the MBean.The exception message contains either "listener", "handback" or the object name depending on which object cannot be found.



removeNotificationListener
public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException(Code)



sendAttributeChangeNotification
public void sendAttributeChangeNotification(AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException(Code)
Sends an attributeChangeNotification which is passed in to the registered attributeChangeNotification listeners on the ModelMBean.
Parameters:
  notification - The notification which is to be passed to the 'handleNotification' methodof the listener object.
exception:
  MBeanException -
exception:
  RuntimeOperationsException -



sendAttributeChangeNotification
public void sendAttributeChangeNotification(Attribute oldAttribute, Attribute newAttribute) throws MBeanException, RuntimeOperationsException(Code)
Sends an attributeChangeNotification which contains the old value and new value for the attribute to the registered AttributeChangeNotification listeners on the RequiredModelMBean.


Parameters:
  oldAttribute - The origional value for the Attribute
Parameters:
  newAttribute - The current value for the Attribute

The constructed attributeChangeNotification will be:type        "jmx.attribute.change"source      this RequiredModelMBean instancesequence    1attributeName oldValue.getNameSpace()attributeType oldValue's classattributeOldValue oldValue.getValue()attributeNewValue newValue.getValue()

exception:
  MBeanException - to wrapper implementation exceptions
exception:
  RuntimeOperationsException - to wrapper IllegalArgumentExceptions.



sendNotification
public void sendNotification(Notification notification) throws MBeanException, RuntimeOperationsException(Code)
Sends a Notification which is passed in to the registered Notification listeners on the RequiredModelMBean.
Parameters:
  notification - The notification which is to be passed to the 'handleNotification' methodof the listener object.
exception:
  MBeanException - for implementation exceptions
exception:
  RuntimeOperationsException - to wrapper IllegalArugementExceptions



sendNotification
public void sendNotification(String message) throws MBeanException, RuntimeOperationsException(Code)
Sends a Notification which contains the text string that is passed in to the registered Notification listeners on the ModelMBean.
Parameters:
  message - The text which is to be passed in the Notification to the 'handleNotification'method of the listener object.the constructed Notification will be:type "jmx.modelmbean.general"source this ModelMBean instancesequence 1
exception:
  MBeanException - for implementation exceptions
exception:
  RuntimeOperationsException - to wrapper IllegalArugementExceptions



setAttribute
public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException(Code)
Sets the value of a specific attribute of a named ModelMBean. If the 'setMethod' field of the attribute's descriptor contains the name of a valid operation descriptor, then the method described by the operation descriptor is executed. The response from the method is set as the value of the attribute in the descriptor. If the operation fails or the response value is not of the same type as the attribute, an exception will be thrown.
 If currencyTimeLimit is > 0, then the new value for the attribute is cached in the attribute descriptor's
 'value' field and the 'lastUpdatedTimeStamp' field is set to the current time stamp.
 If the persist field of the attribute's descriptor is not null then
 Persistance policy from the attribute descriptor is used to guide storing the attribute in a
 persistenant store.
 Store the MBean if 'persistPolicy' field is:
 != "never"
 = "always"
 = "onUpdate"
 = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'
 = "NoMoreOftenThan" and now > 'lastPersistTime' + 'persistPeriod'
 Do not store the MBean if 'persistPolicy' field is:
 = "never"
 = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
 = "NoMoreOftenThan" and now < 'lastPersistTime' + 'persistPeriod'
 

Parameters:
  attribute - The Attribute instance containing the name of the attribute to be set and the value it is to be set to.
exception:
  AttributeNotFoundException - The specified attribute is not accessible in the MBean.
exception:
  InvalidAttributeValueException - The specified value for the attribute is not valid.
exception:
  MBeanException - Wraps an exception thrown by the MBean's setter.
exception:
  ReflectionException - Wraps an java.lang.Exception thrown while trying to invoke the setter.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException: The object name in parameter is null orthe attribute in parameter is null.



setAttributes
public AttributeList setAttributes(AttributeList attributes)(Code)
Sets the values of an array of attributes of this ModelMBean. Executes the setAttribute() method for each attribute in the list.
Parameters:
  attributes - A list of attributes: The identification of theattributes to be set and the values they are to be set to. The array of attributes that were set, with their new values in Attribute instances.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException: The object name in parameter is null orattributes in parameter is null.



setManagedResource
public void setManagedResource(Object resource, String type) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException(Code)
Sets the instance handle of the object against which to execute all methods in this RequiredModelMBean management interface (ModelMBeanInfo and Descriptors). This setting can be overridden by setting the 'targetObject' field of the ModelMBeanOperationInfo's descriptor.
Parameters:
  resource - Object that is the managed resource
Parameters:
  type - The type of reference for the managed resource. Can be: ObjectReference,Handle, IOR, EJBHandle, RMIReference.If the MBeanServer cannot process the mr_type passed in, an exception will bethrown.
exception:
  MBeanException - The initializer of the object has thrown an exception.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException:The managed resource or managed resoure type passed in parameter is null or invalid.
exception:
  InstanceNotFoundException - The managed resource object could not be found
exception:
  InvalidTargetObjectTypeException - The managed resource type cannot be processed by theRequiredModelMBean or JMX Agent.



setModelMBeanInfo
public void setModelMBeanInfo(ModelMBeanInfo mbeanInfo) throws MBeanException, RuntimeOperationsException(Code)
Initializes a RequiredModelMBean object using ModelMBeanInfo passed in. The RequiredModelMBean should be instantiated, but not registered with the MBeanServer. After the RequiredModelMBean's MBeanInfo and Descriptors are customized, the RequiredModelMBean should be registered with the MBeanServer.


Parameters:
  mbeanInfo - The MBeanInfo object to be used by the RequiredModelMBean.
exception:
  MBeanException - The constructor of the MBeanInfo has return nullor thrown an exception.
exception:
  RuntimeOperationsException - Wraps an IllegalArgumentException:The MBeanInfo passed in parameter is null or invalid.




store
public void store() throws MBeanException, RuntimeOperationsException, InstanceNotFoundException(Code)



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.