Class WebServiceFeatureList

  • All Implemented Interfaces:
    WSFeatureList, Iterable<javax.xml.ws.WebServiceFeature>, Map<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>

    public final class WebServiceFeatureList
    extends AbstractMap<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
    implements WSFeatureList
    Represents a list of WebServiceFeatures that has bunch of utility methods pertaining to web service features.
    Author:
    Rama Pulavarthi
    • Constructor Detail

      • WebServiceFeatureList

        public WebServiceFeatureList()
      • WebServiceFeatureList

        public WebServiceFeatureList​(@NotNull
                                     javax.xml.ws.WebServiceFeature... features)
      • WebServiceFeatureList

        public WebServiceFeatureList​(@NotNull
                                     Class<?> endpointClass)
        Creates a list by reading featuers from the annotation on a class.
    • Method Detail

      • validate

        public void validate()
      • parseAnnotations

        public void parseAnnotations​(Iterable<Annotation> annIt)
        Adds the corresponding features to the list for feature annotations(i.e which have WebServiceFeatureAnnotation meta annotation)
        Parameters:
        annIt - collection of annotations(that can have non-feature annotations)
      • getFeature

        public static javax.xml.ws.WebServiceFeature getFeature​(Annotation a)
        Returns a corresponding feature for a feature annotation(i.e which has WebServiceFeatureAnnotation meta annotation)
        Returns:
        corresponding feature for the annotation null, if the annotation is nota feature annotation
      • parseAnnotations

        public void parseAnnotations​(Class<?> endpointClass)
        Parameters:
        endpointClass - web service impl class
      • iterator

        public Iterator<javax.xml.ws.WebServiceFeature> iterator()
        Specified by:
        iterator in interface Iterable<javax.xml.ws.WebServiceFeature>
      • toArray

        @NotNull
        public javax.xml.ws.WebServiceFeature[] toArray()
        Description copied from interface: WSFeatureList
        Obtains all the features in the array.
        Specified by:
        toArray in interface WSFeatureList
      • isEnabled

        public boolean isEnabled​(@NotNull
                                 Class<? extends javax.xml.ws.WebServiceFeature> feature)
        Description copied from interface: WSFeatureList
        Checks if a particular WebServiceFeature is enabled.
        Specified by:
        isEnabled in interface WSFeatureList
        Returns:
        true if enabled.
      • contains

        public boolean contains​(@NotNull
                                Class<? extends javax.xml.ws.WebServiceFeature> feature)
      • get

        @Nullable
        public <F extends javax.xml.ws.WebServiceFeature> F get​(@NotNull
                                                                Class<F> featureType)
        Description copied from interface: WSFeatureList
        Gets a WebServiceFeature of the specific type.
        Specified by:
        get in interface WSFeatureList
        Parameters:
        featureType - The type of the feature to retrieve.
        Returns:
        If the feature is present and enabled, return a non-null instance. Otherwise null.
      • add

        public void add​(@NotNull
                        javax.xml.ws.WebServiceFeature f)
        Adds a feature to the list if it's not already added.
      • addAll

        public void addAll​(@NotNull
                           Iterable<javax.xml.ws.WebServiceFeature> list)
        Adds features to the list if it's not already added.
      • equals

        public boolean equals​(Object other)
        Specified by:
        equals in interface Map<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
        Overrides:
        equals in class AbstractMap<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
      • toString

        public String toString()
        Overrides:
        toString in class AbstractMap<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
      • mergeFeatures

        public void mergeFeatures​(@NotNull
                                  Iterable<javax.xml.ws.WebServiceFeature> features,
                                  boolean reportConflicts)
        Merges the extra features that are not already set on binding. i.e, if a feature is set already on binding through some other API the corresponding wsdlFeature is not set.
        Specified by:
        mergeFeatures in interface WSFeatureList
        Parameters:
        features - Web Service features that need to be merged with already configured features.
        reportConflicts - If true, checks if the feature setting in WSDL (wsdl extension or policy configuration) conflicts with feature setting in Deployed Service and logs warning if there are any conflicts.
      • mergeFeatures

        public void mergeFeatures​(javax.xml.ws.WebServiceFeature[] features,
                                  boolean reportConflicts)
        Description copied from interface: WSFeatureList
        Merges the extra features that are not already set on binding. i.e, if a feature is set already on binding through some other API the corresponding wsdlFeature is not set.
        Specified by:
        mergeFeatures in interface WSFeatureList
        Parameters:
        features - Web Service features that need to be merged with already configured features.
        reportConflicts - If true, checks if the feature setting in WSDL (wsdl extension or policy configuration) conflicts with feature setting in Deployed Service and logs warning if there are any conflicts.
      • mergeFeatures

        public void mergeFeatures​(@NotNull
                                  WSDLPort wsdlPort,
                                  boolean honorWsdlRequired,
                                  boolean reportConflicts)
        Extracts features from WSDLFeaturedObject.getFeatures(). Extra features that are not already set on binding. i.e, if a feature is set already on binding through some other API the corresponding wsdlFeature is not set.
        Parameters:
        wsdlPort - WSDLPort model
        honorWsdlRequired - If this is true add WSDL Feature only if wsd:Required=true In SEI case, it should be false In Provider case, it should be true
        reportConflicts - If true, checks if the feature setting in WSDL (wsdl extension or policy configuration) conflicts with feature setting in Deployed Service and logs warning if there are any conflicts.
      • setParentFeaturedObject

        public void setParentFeaturedObject​(@NotNull
                                            WSDLFeaturedObject parent)
        Set the parent features. Basically the parent feature list will be overriden by this feature list.
      • getFeature

        @Nullable
        public static <F extends javax.xml.ws.WebServiceFeature> F getFeature​(@NotNull
                                                                              javax.xml.ws.WebServiceFeature[] features,
                                                                              @NotNull
                                                                              Class<F> featureType)
      • entrySet

        public Set<Map.Entry<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>> entrySet()
        Specified by:
        entrySet in interface Map<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
        Specified by:
        entrySet in class AbstractMap<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
      • put

        public javax.xml.ws.WebServiceFeature put​(Class<? extends javax.xml.ws.WebServiceFeature> key,
                                                  javax.xml.ws.WebServiceFeature value)
        Specified by:
        put in interface Map<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
        Overrides:
        put in class AbstractMap<Class<? extends javax.xml.ws.WebServiceFeature>,​javax.xml.ws.WebServiceFeature>
      • isFeatureEnabled

        public static boolean isFeatureEnabled​(Class<? extends javax.xml.ws.WebServiceFeature> type,
                                               javax.xml.ws.WebServiceFeature[] features)
      • toFeatureArray

        public static javax.xml.ws.WebServiceFeature[] toFeatureArray​(WSBinding binding)