/** * Adds a <code>soap11:encodingStyle</code> attribute to the given SOAP object. * * @param soapObject the SOAP object to add the attribute to * @param encodingStyles the list of encoding styles to add */ public static void addSOAP11EncodingStyles(@Nonnull final XMLObject soapObject, @Nonnull final List<String> encodingStyles) { Constraint.isNotEmpty(encodingStyles, "Encoding styles list cannot be empty"); if (soapObject instanceof EncodingStyleBearing) { ((EncodingStyleBearing) soapObject).setSOAP11EncodingStyles(encodingStyles); } else if (soapObject instanceof AttributeExtensibleXMLObject) { ((AttributeExtensibleXMLObject) soapObject).getUnknownAttributes().put( EncodingStyleBearing.SOAP11_ENCODING_STYLE_ATTR_NAME, StringSupport.listToStringValue(encodingStyles, " ")); } else { throw new IllegalArgumentException( "Specified object was neither EncodingStyleBearing nor AttributeExtensible"); } }
if (soapObject instanceof EncodingStyleBearing) { EncodingStyleBearing esb = (EncodingStyleBearing) soapObject; List<String> list = esb.getSOAP11EncodingStyles(); if (list == null) { list = new LazyList<>(); esb.setSOAP11EncodingStyles(list);
/** * Gets the list value of the <code>soap11:encodingStyle</code> attribute from the given SOAP object. * * @param soapObject the SOAP object to add the attribute to * * @return the list of encoding styles, or null if not present */ @Nullable public static List<String> getSOAP11EncodingStyles(@Nonnull final XMLObject soapObject) { if (soapObject instanceof EncodingStyleBearing) { List<String> value = ((EncodingStyleBearing) soapObject).getSOAP11EncodingStyles(); if (value != null) { return value; } } if (soapObject instanceof AttributeExtensibleXMLObject) { String value = StringSupport.trimOrNull(((AttributeExtensibleXMLObject) soapObject) .getUnknownAttributes().get(EncodingStyleBearing.SOAP11_ENCODING_STYLE_ATTR_NAME)); if (value != null) { StringSupport.stringToList(value, XMLConstants.LIST_DELIMITERS); } } return null; }