Class SubsetFilteringPropertyOracle

  • All Implemented Interfaces:
    PropertyOracle

    public class SubsetFilteringPropertyOracle
    extends java.lang.Object
    implements PropertyOracle
    A property oracle that prevents access to any properties not named in its predefined set.
    Used by the generator driver framework to limit property access for the purpose of forcing generators to accurately declare their property dependencies.
    • Constructor Detail

      • SubsetFilteringPropertyOracle

        public SubsetFilteringPropertyOracle​(java.util.Set<java.lang.String> accessiblePropertyNames,
                                             PropertyOracle wrappedPropertyOracle,
                                             java.lang.String accessViolationMessage)
    • Method Detail

      • getSelectionProperty

        public SelectionProperty getSelectionProperty​(TreeLogger logger,
                                                      java.lang.String propertyName)
                                               throws BadPropertyValueException
        Description copied from interface: PropertyOracle
        Attempts to get a named deferred binding property. Throws BadPropertyValueException if the property is either undefined or has a value that is unsupported. The result of invoking this method with the same propertyName must be stable.
        Specified by:
        getSelectionProperty in interface PropertyOracle
        Returns:
        the selection property instance (never null)
        Throws:
        BadPropertyValueException - if the property is unknown or not a selection property