Class GenericPropertyState

    • Constructor Detail

      • GenericPropertyState

        public GenericPropertyState​(@NotNull
                                    @NotNull java.lang.String name,
                                    @NotNull
                                    @NotNull java.lang.String value,
                                    @NotNull
                                    @NotNull Type<?> type)
        Throws:
        java.lang.IllegalArgumentException - if type.isArray() is true
    • Method Detail

      • dateProperty

        public static PropertyState dateProperty​(java.lang.String name,
                                                 java.lang.String value)
        Create a PropertyState from a date. No validation is performed on the string passed for value.
        Parameters:
        name - The name of the property state
        value - The value of the property state
        Returns:
        The new property state of type Type.DATE
      • nameProperty

        public static PropertyState nameProperty​(java.lang.String name,
                                                 java.lang.String value)
        Create a PropertyState from a name. No validation is performed on the string passed for value.
        Parameters:
        name - The name of the property state
        value - The value of the property state
        Returns:
        The new property state of type Type.NAME
      • pathProperty

        public static PropertyState pathProperty​(java.lang.String name,
                                                 java.lang.String value)
        Create a PropertyState from a path. No validation is performed on the string passed for value.
        Parameters:
        name - The name of the property state
        value - The value of the property state
        Returns:
        The new property state of type Type.PATH
      • referenceProperty

        public static PropertyState referenceProperty​(java.lang.String name,
                                                      java.lang.String value)
        Create a PropertyState from a reference. No validation is performed on the string passed for value.
        Parameters:
        name - The name of the property state
        value - The value of the property state
        Returns:
        The new property state of type Type.REFERENCE
      • weakreferenceProperty

        public static PropertyState weakreferenceProperty​(java.lang.String name,
                                                          java.lang.String value)
        Create a PropertyState from a weak reference. No validation is performed on the string passed for value.
        Parameters:
        name - The name of the property state
        value - The value of the property state
        Returns:
        The new property state of type Type.WEAKREFERENCE
      • uriProperty

        public static PropertyState uriProperty​(java.lang.String name,
                                                java.lang.String value)
        Create a PropertyState from a URI. No validation is performed on the string passed for value.
        Parameters:
        name - The name of the property state
        value - The value of the property state
        Returns:
        The new property state of type Type.URI
      • getValue

        public java.lang.String getValue()
        The value of this property
        Returns:
        Value of this property
      • getConverter

        public Conversions.Converter getConverter()
        Create a converter for converting the value of this property to other types.
        Returns:
        A converter for the value of this property
      • getType

        public Type<?> getType()
        Description copied from interface: PropertyState
        Determine the type of this property
        Returns:
        the type of this property
      • getValue

        @NotNull
        public <S> S getValue​(Type<S> type)
        Description copied from interface: PropertyState
        Value of this property. The type of the return value is determined by the target type argument. If type.isArray() is true, this method returns an Iterable of the base type of type containing all values of this property. If the target type is not the same as the type of this property an attempt is made to convert the value to the target type. If the conversion fails an exception is thrown. The actual conversions which take place are those defined in the org.apache.jackrabbit.oak.plugins.value.Conversions class.
        Specified by:
        getValue in interface PropertyState
        Overrides:
        getValue in class EmptyPropertyState
        Parameters:
        type - target type
        Returns:
        An empty list if type.isArray() is true.
        Throws:
        java.lang.IllegalArgumentException - if type is not one of the values defined in Type.
      • getValue

        @NotNull
        public <S> S getValue​(Type<S> type,
                              int index)
        Description copied from interface: PropertyState
        Value at the given index. The type of the return value is determined by the target type argument. If the target type is not the same as the type of this property an attempt is made to convert the value to the target type. If the conversion fails an exception is thrown. The actual conversions which take place are those defined in the org.apache.jackrabbit.oak.plugins.value.Conversions class.
        Specified by:
        getValue in interface PropertyState
        Overrides:
        getValue in class EmptyPropertyState
        Parameters:
        type - target type
        Returns:
        the value of this property at the given index
        Throws:
        java.lang.IllegalArgumentException - if type.isArray is true
        java.lang.IndexOutOfBoundsException - if index != 0
      • size

        public long size​(int index)
        Description copied from interface: PropertyState
        The size of the value at the given index.
        Specified by:
        size in interface PropertyState
        Overrides:
        size in class EmptyPropertyState
        Returns:
        size
        Throws:
        java.lang.IndexOutOfBoundsException - if index != 0