protected void addValueTypeDescription( final ModelNode node, final String prefix, final ResourceBundle bundle) { final ModelNode valueTypeDesc = getValueTypeDescription(false); valueTypeDesc.get(DESCRIPTION).set(valueType.getAttributeTextDescription(bundle, prefix)); // node.get(VALUE_TYPE, valueType.getName()).set(valueTypeDesc); ModelNode childType = node.get(VALUE_TYPE, valueType.getName()).set(valueTypeDesc); // recursively process any child OBJECT attributes if (valueType instanceof ObjectTypeAttributeDefinition) { ObjectTypeAttributeDefinition.class .cast(valueType) .addValueTypeDescription(childType, prefix, bundle); } }
@Override protected void addAttributeValueTypeDescription( final ModelNode node, final ResourceDescriptionResolver resolver, final Locale locale, final ResourceBundle bundle) { final ModelNode valueTypeDesc = getValueTypeDescription(false); valueTypeDesc .get(DESCRIPTION) .set( resolver.getResourceAttributeValueTypeDescription( getName(), locale, bundle, valueType.getName())); node.get(VALUE_TYPE, valueType.getName()).set(valueTypeDesc); }
@Override protected void addOperationParameterValueTypeDescription( final ModelNode node, final String operationName, final ResourceDescriptionResolver resolver, final Locale locale, final ResourceBundle bundle) { final ModelNode valueTypeDesc = getValueTypeDescription(true); valueTypeDesc .get(DESCRIPTION) .set( resolver.getOperationParameterValueTypeDescription( operationName, getName(), locale, bundle, valueType.getName())); node.get(VALUE_TYPE, valueType.getName()).set(valueTypeDesc); }
private ObjectListAttributeDefinition( final String name, final String xmlName, final ObjectTypeAttributeDefinition valueType, final boolean allowNull, final int minSize, final int maxSize, final String[] alternatives, final String[] requires, final AttributeMarshaller attributeMarshaller, final boolean resourceOnly, final DeprecationData deprecated, final AccessConstraintDefinition[] accessConstraints, Boolean nullSignificant, final AttributeAccess.Flag... flags) { super( name, xmlName, allowNull, false, minSize, maxSize, valueType.getValidator(), alternatives, requires, attributeMarshaller, resourceOnly, deprecated, accessConstraints, nullSignificant, flags); this.valueType = valueType; }
@Override public void marshallAsElement(final ModelNode resourceModel, final XMLStreamWriter writer) throws XMLStreamException { if (resourceModel.hasDefined(getName())) { writer.writeStartElement(getXmlName()); for (ModelNode handler : resourceModel.get(getName()).asList()) { valueType.marshallAsElement(handler, writer); } writer.writeEndElement(); } }
private ObjectListAttributeDefinition( final String name, final String xmlName, final ObjectTypeAttributeDefinition valueType, final boolean allowNull, final int minSize, final int maxSize, final String[] alternatives, final String[] requires, final AttributeAccess.Flag... flags) { super( name, xmlName, allowNull, minSize, maxSize, valueType.getValidator(), alternatives, requires, flags); this.valueType = valueType; }
@Override protected void addValueTypeDescription(final ModelNode node, final ResourceBundle bundle) { node.get(VALUE_TYPE, valueType.getName()).set(getValueTypeDescription(false)); }
private ModelNode getValueTypeDescription(boolean forOperation) { final ModelNode result = new ModelNode(); result.get(ModelDescriptionConstants.TYPE).set(valueType.getType()); result.get(ModelDescriptionConstants.DESCRIPTION); // placeholder result.get(ModelDescriptionConstants.EXPRESSIONS_ALLOWED).set(valueType.isAllowExpression()); if (forOperation) { result.get(ModelDescriptionConstants.REQUIRED).set(!valueType.isAllowNull()); } result.get(ModelDescriptionConstants.NILLABLE).set(isAllowNull()); final ModelNode defaultValue = valueType.getDefaultValue(); if (!forOperation && defaultValue != null && defaultValue.isDefined()) { result.get(ModelDescriptionConstants.DEFAULT).set(defaultValue); } MeasurementUnit measurementUnit = valueType.getMeasurementUnit(); if (measurementUnit != null && measurementUnit != MeasurementUnit.NONE) { result.get(ModelDescriptionConstants.UNIT).set(measurementUnit.getName()); } final String[] alternatives = valueType.getAlternatives(); if (alternatives != null) { for (final String alternative : alternatives) { result.get(ModelDescriptionConstants.ALTERNATIVES).add(alternative); } } final String[] requires = valueType.getRequires(); if (requires != null) { for (final String required : requires) { result.get(ModelDescriptionConstants.REQUIRES).add(required); } } final ParameterValidator validator = valueType.getValidator(); if (validator instanceof MinMaxValidator) { MinMaxValidator minMax = (MinMaxValidator) validator; Long min = minMax.getMin(); if (min != null) { switch (valueType.getType()) { case STRING: case LIST: case OBJECT: result.get(ModelDescriptionConstants.MIN_LENGTH).set(min); break; default: result.get(ModelDescriptionConstants.MIN).set(min); } } Long max = minMax.getMax(); if (max != null) { switch (valueType.getType()) { case STRING: case LIST: case OBJECT: result.get(ModelDescriptionConstants.MAX_LENGTH).set(max); break; default: result.get(ModelDescriptionConstants.MAX).set(max); } } } if (validator instanceof AllowedValuesValidator) { AllowedValuesValidator avv = (AllowedValuesValidator) validator; List<ModelNode> allowed = avv.getAllowedValues(); if (allowed != null) { for (ModelNode ok : allowed) { result.get(ModelDescriptionConstants.ALLOWED).add(ok); } } } return result; }
protected void addValueTypeDescription( final ModelNode node, final String prefix, final ResourceBundle bundle, boolean forOperation, final ResourceDescriptionResolver resolver, Locale locale) { node.get(ModelDescriptionConstants.DESCRIPTION); // placeholder node.get(ModelDescriptionConstants.EXPRESSIONS_ALLOWED).set(valueType.isAllowExpression()); if (forOperation) { node.get(ModelDescriptionConstants.REQUIRED).set(!valueType.isAllowNull()); } node.get(ModelDescriptionConstants.NILLABLE).set(isAllowNull()); final ModelNode defaultValue = valueType.getDefaultValue(); if (!forOperation && defaultValue != null && defaultValue.isDefined()) { node.get(ModelDescriptionConstants.DEFAULT).set(defaultValue); } MeasurementUnit measurementUnit = valueType.getMeasurementUnit(); if (measurementUnit != null && measurementUnit != MeasurementUnit.NONE) { node.get(ModelDescriptionConstants.UNIT).set(measurementUnit.getName()); } final String[] alternatives = valueType.getAlternatives(); if (alternatives != null) { for (final String alternative : alternatives) { node.get(ModelDescriptionConstants.ALTERNATIVES).add(alternative); } } final String[] requires = valueType.getRequires(); if (requires != null) { for (final String required : requires) { node.get(ModelDescriptionConstants.REQUIRES).add(required); } } final ParameterValidator validator = valueType.getValidator(); if (validator instanceof MinMaxValidator) { MinMaxValidator minMax = (MinMaxValidator) validator; Long min = minMax.getMin(); if (min != null) { switch (valueType.getType()) { case STRING: case LIST: case OBJECT: case BYTES: node.get(ModelDescriptionConstants.MIN_LENGTH).set(min); break; default: node.get(ModelDescriptionConstants.MIN).set(min); } } Long max = minMax.getMax(); if (max != null) { switch (valueType.getType()) { case STRING: case LIST: case OBJECT: case BYTES: node.get(ModelDescriptionConstants.MAX_LENGTH).set(max); break; default: node.get(ModelDescriptionConstants.MAX).set(max); } } } addAllowedValuesToDescription(node, validator); valueType.addValueTypeDescription(node, prefix, bundle, resolver, locale); }
/** * Uses the {@link ObjectTypeAttributeDefinition} passed to the constructor to {@link * ObjectTypeAttributeDefinition#convertParameterExpressions(ModelNode) convert the element's * expressions}. * * <p>{@inheritDoc} */ @Override protected ModelNode convertParameterElementExpressions(ModelNode parameterElement) { return valueType.convertParameterExpressions(parameterElement); }
@Override protected void addValueTypeDescription(final ModelNode node, final ResourceBundle bundle) { addValueTypeDescription(node, valueType.getName(), bundle, false, null, null); }