Class BasePropertySet

    • Constructor Detail

      • BasePropertySet

        protected BasePropertySet()
        Creates a new instance of TypedMap.
    • Method Detail

      • getPropertyMap

        protected abstract BasePropertySet.PropertyMap getPropertyMap()
        Map representing the Fields and Methods annotated with PropertySet.Property. Model of PropertySet class.

        At the end of the derivation chain this method just needs to be implemented as:

         private static final PropertyMap model;
         static {
           model = parse(MyDerivedClass.class);
         }
         protected PropertyMap getPropertyMap() {
           return model;
         }
         
        or if the implementation is in different Java module.
         private static final PropertyMap model;
         static {
           model = parse(MyDerivedClass.class, MethodHandles.lookup());
         }
         protected PropertyMap getPropertyMap() {
           return model;
         }
         
        Returns:
        the map of strongly-typed known properties keyed by property names
      • get

        public Object get​(Object key)
        Gets the name of the property.
        Specified by:
        get in interface PropertySet
        Parameters:
        key - This field is typed as Object to follow the Map.get(Object) convention, but if anything but String is passed, this method just returns null.
      • put

        public Object put​(String key,
                          Object value)
        Sets a property.

        Implementation Note

        This method is slow. Code inside JAX-WS should define strongly-typed fields in this class and access them directly, instead of using this.
        Specified by:
        put in interface PropertySet
        Throws:
        ReadOnlyPropertyException - if the given key is an alias of a strongly-typed field, and if the name object given is not assignable to the field.
        See Also:
        PropertySet.Property
      • mapAllowsAdditionalProperties

        protected boolean mapAllowsAdditionalProperties()
        Used when constructing the BasePropertySet.MapView for this object - it controls if the BasePropertySet.MapView servers only to access strongly typed values or allows also different values
        Returns:
        true if Map should allow also properties not defined as strongly typed fields