org.apache.qpid.management.domain.model
Class QpidFeatureBuilder

java.lang.Object
  extended by org.apache.qpid.management.domain.model.QpidFeatureBuilder

 class QpidFeatureBuilder
extends Object

A builder used to parse incoming schema message and therefore to build a feature (property, statistic, method, event) definition. In order to set up the correct state for this builder, clients must create an instance of this class The product of the builder will be a QpidFeature and a JMX Managemtn feature used for describing that feature in a JMX environment. So, for example, for building a property definition client code should be :
- QpidFeatureBuilder builder = QpidFeature.createPropertyBuilder(...);
- builder.build();
- QpidProperty property = (QpidProperty) builder.getQpidFeature();
- MBeanAttributeInfo managementAttributeInfo = (MBeanAttributeInfo)builder.getManagementFeature();
N.B.: a builder instance is not supposed to be reused. One instance for one feature!


Nested Class Summary
(package private) static class QpidFeatureBuilder.Attribute
           
(package private) static interface QpidFeatureBuilder.State
          Builder state for this class.
 
Field Summary
(package private)  QpidFeatureBuilder.State _argumentBuilder
          Builder used for building a statistic definition.
(package private)  QpidFeatureBuilder.State _eventBuilder
           
(package private)  QpidFeatureBuilder.State _methodBuilder
           
(package private)  QpidFeatureBuilder.State _propertyBuilder
          Builder used for building property definition.
(package private)  QpidFeatureBuilder.State _statisticBuilder
           
 
Method Summary
(package private)  void build()
           
(package private) static QpidFeatureBuilder createEventBuilder(Map<String,Object> eventDefinition)
           
(package private) static QpidFeatureBuilder createMethodBuilder(MethodOrEventDataTransferObject methodDefinition)
           
(package private) static QpidFeatureBuilder createPropertyBuilder(Map<String,Object> propertyDefinition)
           
(package private) static QpidFeatureBuilder createStatisticBuilder(Map<String,Object> statisticDefinition)
           
(package private)  MBeanFeatureInfo getManagementFeature()
          Return the jmx metadata for the built feature.
(package private)  QpidFeature getQpidFeature()
          Returns the just built qpid feature.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_propertyBuilder

final QpidFeatureBuilder.State _propertyBuilder
Builder used for building property definition.


_statisticBuilder

final QpidFeatureBuilder.State _statisticBuilder

_argumentBuilder

final QpidFeatureBuilder.State _argumentBuilder
Builder used for building a statistic definition.


_methodBuilder

final QpidFeatureBuilder.State _methodBuilder

_eventBuilder

final QpidFeatureBuilder.State _eventBuilder
Method Detail

createPropertyBuilder

static QpidFeatureBuilder createPropertyBuilder(Map<String,Object> propertyDefinition)

createStatisticBuilder

static QpidFeatureBuilder createStatisticBuilder(Map<String,Object> statisticDefinition)

createEventBuilder

static QpidFeatureBuilder createEventBuilder(Map<String,Object> eventDefinition)

createMethodBuilder

static QpidFeatureBuilder createMethodBuilder(MethodOrEventDataTransferObject methodDefinition)

getQpidFeature

QpidFeature getQpidFeature()
Returns the just built qpid feature.

Returns:
the qpid feature.

getManagementFeature

MBeanFeatureInfo getManagementFeature()
Return the jmx metadata for the built feature.

Returns:
the jmx metadata for the built feature.

build

void build()
     throws UnableToBuildFeatureException
Throws:
UnableToBuildFeatureException


Licensed to the Apache Software Foundation