org.eclipse.rdf4j.model.impl

## Class SimpleValueFactory

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

- All Implemented Interfaces:
    ValueFactory
  Direct Known Subclasses:
    ValueFactoryImpl

      public class SimpleValueFactory
      extends AbstractValueFactory

  Default implementation of the `ValueFactory` interface.
  Author:
    Arjohn Kampman

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SimpleValueFactory()` Hidden constructor to enforce singleton pattern.

  - ### Method Summary

    All Methods Static 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` | `createFPLiteral(Number value, XSD.Datatype datatype)`
    `protected Literal` | `createIntegerLiteral(Number value, IRI datatype)` Calls `createNumericLiteral(Number, IRI)` with the supplied value and datatype as parameters.
    `protected Literal` | `createIntegerLiteral(Number value, XSD.Datatype datatype)`
    `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 as an `xsd:Decimal`.
    `Literal` | `createLiteral(BigInteger bigInteger)` Creates a new literal representing the specified bigInteger that is typed as an `xsd:Integer`.
    `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 `XSD.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 `XSD.DOUBLE` as parameters.
    `Literal` | `createLiteral(float value)` Calls `createFPLiteral(Number, IRI)` with the supplied value and `XSD.FLOAT` as parameters.
    `Literal` | `createLiteral(int value)` Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XSD.INT` as parameters.
    `Literal` | `createLiteral(long value)` Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XSD.LONG` as parameters.
    `Literal` | `createLiteral(short value)` Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XSD.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.
    `protected Literal` | `createNumericLiteral(Number number, XSD.Datatype datatype)`
    `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.
    `Triple` | `createTriple(Resource subject, IRI predicate, Value object)` Creates a new RDF* triple with the supplied subject, predicate and object.
    `static SimpleValueFactory` | `getInstance()` Provide a single shared instance of a SimpleValueFactory.
    `protected void` | `initBNodeParams()` Generates a new bnode prefix and resets `nextBNodeID` to `1` .

    - ### Methods inherited from class org.eclipse.rdf4j.model.base.AbstractValueFactory

      `createLiteral, createLiteral`

    - ### 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

    - #### SimpleValueFactory

          protected SimpleValueFactory()

      Hidden constructor to enforce singleton pattern.

  - ### Method Detail

    - #### getInstance

          public static SimpleValueFactory getInstance()

      Provide a single shared instance of a SimpleValueFactory.
      Returns:
        a singleton instance of SimpleValueFactory.

    - #### 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`
      Overrides:
        `createIRI` in class `AbstractValueFactory`
      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`
      Overrides:
        `createIRI` in class `AbstractValueFactory`
      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`
      Overrides:
        `createBNode` in class `AbstractValueFactory`
      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 `xsd:string`.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      Parameters:
        `value` - The literal's label, must not be `null`.
        `datatype` - The literal's datatype. If it is null, the datatype `xsd: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`
      Overrides:
        `createStatement` in class `AbstractValueFactory`
      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`
      Overrides:
        `createStatement` in class `AbstractValueFactory`
      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.

    - #### createTriple

          public Triple createTriple(Resource subject,
                                     IRI predicate,
                                     Value object)

      Description copied from interface: `ValueFactory`
      Creates a new RDF* triple with the supplied subject, predicate and object.
      Specified by:
        `createTriple` in interface `ValueFactory`
      Overrides:
        `createTriple` in class `AbstractValueFactory`
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
      Returns:
        The created triple.

    - #### initBNodeParams

          protected void initBNodeParams()

      Generates a new bnode prefix and resets `nextBNodeID` to `1` .
      Overrides:
        `initBNodeParams` in class `AbstractValueFactory`

    - #### createBNode

          public BNode createBNode()

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

    - #### createLiteral

          public Literal createLiteral(byte value)

      Calls `createIntegerLiteral(Number, IRI)` with the supplied value and `XSD.BYTE` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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 `XSD.SHORT` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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 `XSD.INT` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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 `XSD.LONG` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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.
      Overrides:
        `createIntegerLiteral` in class `AbstractValueFactory`

    - #### createIntegerLiteral

          protected Literal createIntegerLiteral(Number value,
                                                 XSD.Datatype datatype)

      Overrides:
        `createIntegerLiteral` in class `AbstractValueFactory`

    - #### createLiteral

          public Literal createLiteral(float value)

      Calls `createFPLiteral(Number, IRI)` with the supplied value and `XSD.FLOAT` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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 `XSD.DOUBLE` as parameters.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      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 as an `xsd:Integer`.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`

    - #### createLiteral

          public Literal createLiteral(BigDecimal bigDecimal)

      Description copied from interface: `ValueFactory`
      Creates a new literal representing the specified bigDecimal that is typed as an `xsd:Decimal`.
      Specified by:
        `createLiteral` in interface `ValueFactory`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`

    - #### createFPLiteral

          protected Literal createFPLiteral(Number value,
                                            IRI datatype)

      Calls `createNumericLiteral(Number, IRI)` with the supplied value and datatype as parameters.
      Overrides:
        `createFPLiteral` in class `AbstractValueFactory`

    - #### createFPLiteral

          protected Literal createFPLiteral(Number value,
                                            XSD.Datatype datatype)

      Overrides:
        `createFPLiteral` in class `AbstractValueFactory`

    - #### createNumericLiteral

          protected Literal createNumericLiteral(Number number,
                                                 IRI datatype)

      Creates specific optimized subtypes of SimpleLiteral for numeric datatypes.
      Overrides:
        `createNumericLiteral` in class `AbstractValueFactory`

    - #### createNumericLiteral

          protected Literal createNumericLiteral(Number number,
                                                 XSD.Datatype datatype)

      Overrides:
        `createNumericLiteral` in class `AbstractValueFactory`

    - #### 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`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`
      Parameters:
        `calendar` - The value for the literal.
      Returns:
        A 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`
      Overrides:
        `createLiteral` in class `AbstractValueFactory`

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