org.eclipse.rdf4j.model.impl

## Class AbstractValueFactory

- java.lang.Object
- - org.eclipse.rdf4j.model.impl.AbstractValueFactory

- All Implemented Interfaces:
    ValueFactory
  Direct Known Subclasses:
    MemValueFactory, SimpleValueFactory, ValueFactoryBase, ValueStore

      public abstract class AbstractValueFactory
      extends Object
      implements ValueFactory

  Abstract base class for `ValueFactory` implementations. It implements all basic `Value` creation methods by using the default implementations (`SimpleBNode`, `SimpleIRI`, etc), and type-optimized subclasses (e.g. `BooleanLiteral`, `NumericLiteral`) where possible.
  Author:
    Arjohn Kampman, Jeen Broekstra

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractValueFactory()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `BNode` | `createBNode()` Creates a new bNode.
    `BNode` | `createBNode(String nodeID)` Creates a new blank node with the given node identifier.
    `protected Literal` | `createFPLiteral(Number value, IRI datatype)` Calls `createNumericLiteral(Number, IRI)` with the supplied value and datatype as parameters.
    `protected Literal` | `createIntegerLiteral(Number value, IRI datatype)` Calls `createNumericLiteral(Number, IRI)` with the supplied value and datatype as parameters.
    `IRI` | `createIRI(String iri)` Creates a new IRI from the supplied string-representation.
    `IRI` | `createIRI(String namespace, String localName)` Creates a new IRI from the supplied namespace and local name.
    `Literal` | `createLiteral(BigDecimal bigDecimal)` Creates a new literal representing the specified bigDecimal that is typed using the appropriate XML Schema date/time datatype.
    `Literal` | `createLiteral(BigInteger bigInteger)` Creates a new literal representing the specified bigInteger that is typed using the appropriate XML Schema date/time datatype.
    `Literal` | `createLiteral(boolean b)` Creates a new `xsd:boolean`-typed literal representing the specified value.
    `Literal` | `createLiteral(byte value)` Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.BYTE` as parameters.
    `Literal` | `createLiteral(Date date)` Converts the supplied `Date` to a `XMLGregorianCalendar`, then calls `ValueFactory.createLiteral(XMLGregorianCalendar)`.
    `Literal` | `createLiteral(double value)` Calls `createFPLiteral(Number, IRI)` with the supplied value and `XMLSchema.DOUBLE` as parameters.
    `Literal` | `createLiteral(float value)` Calls `createFPLiteral(Number, IRI)` with the supplied value and `XMLSchema.FLOAT` as parameters.
    `Literal` | `createLiteral(int value)` Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.INT` as parameters.
    `Literal` | `createLiteral(long value)` Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.LONG` as parameters.
    `Literal` | `createLiteral(short value)` Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.SHORT` as parameters.
    `Literal` | `createLiteral(String value)` Creates a new literal with the supplied label.
    `Literal` | `createLiteral(String value, IRI datatype)` Creates a new literal with the supplied label and datatype.
    `Literal` | `createLiteral(String value, String language)` Creates a new literal with the supplied label and language attribute.
    `Literal` | `createLiteral(XMLGregorianCalendar calendar)` Calls `ValueFactory.createLiteral(String, IRI)` with the String-value of the supplied calendar and the appropriate datatype as parameters.
    `protected Literal` | `createNumericLiteral(Number number, IRI datatype)` Creates specific optimized subtypes of SimpleLiteral for numeric datatypes.
    `Statement` | `createStatement(Resource subject, IRI predicate, Value object)` Creates a new statement with the supplied subject, predicate and object.
    `Statement` | `createStatement(Resource subject, IRI predicate, Value object, Resource context)` Creates a new statement with the supplied subject, predicate and object and associated context.
    `protected void` | `initBNodeParams()` Generates a new bnode prefix and resets `nextBNodeID` to `1` .

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.ValueFactory

      `createLiteral, createStatement, createStatement, createURI, createURI`

- - ### Constructor Detail

    - #### AbstractValueFactory

          protected AbstractValueFactory()

  - ### Method Detail

    - #### createIRI

          public IRI createIRI(String iri)

      Description copied from interface: `ValueFactory`
      Creates a new IRI from the supplied string-representation.
      Specified by:
        `createIRI` in interface `ValueFactory`
      Parameters:
        `iri` - A string-representation of a IRI.
      Returns:
        An object representing the IRI.

    - #### createIRI

          public IRI createIRI(String namespace,
                               String localName)

      Description copied from interface: `ValueFactory`
      Creates a new IRI from the supplied namespace and local name. Calling this method is funtionally equivalent to calling `createIRI(namespace+localName)`, but allows the ValueFactory to reuse supplied namespace and local name strings whenever possible. Note that the values returned by `IRI.getNamespace()` and `IRI.getLocalName()` are not necessarily the same as the values that are supplied to this method.
      Specified by:
        `createIRI` in interface `ValueFactory`
      Parameters:
        `namespace` - The IRI's namespace.
        `localName` - The IRI's local name.

    - #### createBNode

          public BNode createBNode(String nodeID)

      Description copied from interface: `ValueFactory`
      Creates a new blank node with the given node identifier.
      Specified by:
        `createBNode` in interface `ValueFactory`
      Parameters:
        `nodeID` - The blank node identifier.
      Returns:
        An object representing the blank node.

    - #### createLiteral

          public Literal createLiteral(String value)

      Description copied from interface: `ValueFactory`
      Creates a new literal with the supplied label. The return value of `Literal.getDatatype()` for the returned object must be `XMLSchema.STRING`.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The literal's label, must not be `null`.

    - #### createLiteral

          public Literal createLiteral(String value,
                                       String language)

      Description copied from interface: `ValueFactory`
      Creates a new literal with the supplied label and language attribute. The return value of `Literal.getDatatype()` for the returned object must be `RDF.LANGSTRING`.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The literal's label, must not be `null`.
        `language` - The literal's language attribute, must not be `null`.

    - #### createLiteral

          public Literal createLiteral(boolean b)

      Description copied from interface: `ValueFactory`
      Creates a new `xsd:boolean`-typed literal representing the specified value.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `b` - The value for the literal.
      Returns:
        An `xsd:boolean`-typed literal for the specified value.

    - #### createLiteral

          public Literal createLiteral(String value,
                                       IRI datatype)

      Description copied from interface: `ValueFactory`
      Creates a new literal with the supplied label and datatype.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The literal's label, must not be `null`.
        `datatype` - The literal's datatype. If it is null, the datatype `XMLSchema.STRING` will be assigned to this literal.

    - #### createStatement

          public Statement createStatement(Resource subject,
                                           IRI predicate,
                                           Value object)

      Description copied from interface: `ValueFactory`
      Creates a new statement with the supplied subject, predicate and object.
      Specified by:
        `createStatement` in interface `ValueFactory`
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
      Returns:
        The created statement.

    - #### createStatement

          public Statement createStatement(Resource subject,
                                           IRI predicate,
                                           Value object,
                                           Resource context)

      Description copied from interface: `ValueFactory`
      Creates a new statement with the supplied subject, predicate and object and associated context.
      Specified by:
        `createStatement` in interface `ValueFactory`
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
        `context` - The statement's context.
      Returns:
        The created statement.

    - #### initBNodeParams

          protected void initBNodeParams()

      Generates a new bnode prefix and resets `nextBNodeID` to `1` .

    - #### createBNode

          public BNode createBNode()

      Description copied from interface: `ValueFactory`
      Creates a new bNode.
      Specified by:
        `createBNode` in interface `ValueFactory`
      Returns:
        An object representing the bNode.

    - #### createLiteral

          public Literal createLiteral(byte value)

      Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.BYTE` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:byte`-typed literal for the specified value.

    - #### createLiteral

          public Literal createLiteral(short value)

      Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.SHORT` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:short`-typed literal for the specified value.

    - #### createLiteral

          public Literal createLiteral(int value)

      Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.INT` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:int`-typed literal for the specified value.

    - #### createLiteral

          public Literal createLiteral(long value)

      Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XMLSchema.LONG` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:long`-typed literal for the specified value.

    - #### createIntegerLiteral

          protected Literal createIntegerLiteral(Number value,
                                                 IRI datatype)

      Calls `createNumericLiteral(Number, IRI)` with the supplied value and datatype as parameters.

    - #### createLiteral

          public Literal createLiteral(float value)

      Calls `createFPLiteral(Number, IRI)` with the supplied value and `XMLSchema.FLOAT` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:float`-typed literal for the specified value.

    - #### createLiteral

          public Literal createLiteral(double value)

      Calls `createFPLiteral(Number, IRI)` with the supplied value and `XMLSchema.DOUBLE` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:double`-typed literal for the specified value.

    - #### createLiteral

          public Literal createLiteral(BigInteger bigInteger)

      Description copied from interface: `ValueFactory`
      Creates a new literal representing the specified bigInteger that is typed using the appropriate XML Schema date/time datatype.
      Specified by:
        `createLiteral` in interface `ValueFactory`

    - #### createLiteral

          public Literal createLiteral(BigDecimal bigDecimal)

      Description copied from interface: `ValueFactory`
      Creates a new literal representing the specified bigDecimal that is typed using the appropriate XML Schema date/time datatype.
      Specified by:
        `createLiteral` in interface `ValueFactory`

    - #### createFPLiteral

          protected Literal createFPLiteral(Number value,
                                            IRI datatype)

      Calls `createNumericLiteral(Number, IRI)` with the supplied value and datatype as parameters.

    - #### createNumericLiteral

          protected Literal createNumericLiteral(Number number,
                                                 IRI datatype)

      Creates specific optimized subtypes of SimpleLiteral for numeric datatypes.

    - #### createLiteral

          public Literal createLiteral(XMLGregorianCalendar calendar)

      Calls `ValueFactory.createLiteral(String, IRI)` with the String-value of the supplied calendar and the appropriate datatype as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Parameters:
        `calendar` - The value for the literal.
      Returns:
        An typed literal for the specified calendar.
      See Also:
        `XMLGregorianCalendar.toXMLFormat()`, `XMLGregorianCalendar.getXMLSchemaType()`, `XMLDatatypeUtil.qnameToURI(javax.xml.namespace.QName)`

    - #### createLiteral

          public Literal createLiteral(Date date)

      Converts the supplied `Date` to a `XMLGregorianCalendar`, then calls `ValueFactory.createLiteral(XMLGregorianCalendar)`.
      Specified by:
        `createLiteral` in interface `ValueFactory`

Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.