Package org.eclipse.rdf4j.sail.memory.model

## Class MemLiteral

- java.lang.Object
- - org.eclipse.rdf4j.model.base.AbstractLiteral
  - - org.eclipse.rdf4j.model.impl.SimpleLiteral
    - - org.eclipse.rdf4j.sail.memory.model.MemLiteral

- All Implemented Interfaces:
    `Serializable`, `Literal`, `Value`, `MemValue`
  Direct Known Subclasses:
    `BooleanMemLiteral`, `CalendarMemLiteral`, `DecimalMemLiteral`, `IntegerMemLiteral`, `NumericMemLiteral`

      public class MemLiteral
      extends SimpleLiteral
      implements MemValue

  A MemoryStore-specific extension of Literal giving it node properties.
  Author:
    Arjohn Kampman
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from interface org.eclipse.rdf4j.sail.memory.model.MemValue

      `EMPTY_LIST`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MemLiteral​(Object creator, String label)` | Creates a new Literal which will get the supplied label.
    `MemLiteral​(Object creator, String label, String lang)` | Creates a new Literal which will get the supplied label and language code.
    `MemLiteral​(Object creator, String label, IRI datatype)` | Creates a new Literal which will get the supplied label and datatype.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addObjectStatement​(MemStatement st)` | Adds a statement to this MemValue's list of statements for which it is the object.
    `void` | `cleanSnapshotsFromObjectStatements​(int currentSnapshot)` | Removes statements from old snapshots (those that have expired at or before the specified snapshot version) from this MemValue's list of statements for which it is the object.
    `Object` | `getCreator()` | Returns the object that created this MemValue.
    `int` | `getObjectStatementCount()` | Gets the number of statements for which this MemValue is the object.
    `MemStatementList` | `getObjectStatementList()` | Gets the list of statements for which this MemValue is the object.
    `boolean` | `hasStatements()` | Checks whether this MemValue has any statements.
    `void` | `removeObjectStatement​(MemStatement st)` | Removes a statement from this MemValue's list of statements for which it is the object.

    - ### Methods inherited from class org.eclipse.rdf4j.model.impl.SimpleLiteral

      `booleanValue, byteValue, calendarValue, decimalValue, doubleValue, equals, floatValue, getDatatype, getLabel, getLanguage, getXsdDatatype, hashCode, integerValue, intValue, longValue, setDatatype, setDatatype, setLabel, setLanguage, shortValue, stringValue, toString`

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

      `temporalAccessorValue, temporalAmountValue`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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

      `isLiteral`

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

      `isBNode, isIRI, isResource, isTriple, stringValue`

- - ### Constructor Detail

    - #### MemLiteral

          public MemLiteral​(Object creator,
                            String label)

      Creates a new Literal which will get the supplied label.
      Parameters:
        `creator` - The object that is creating this MemLiteral.
        `label` - The label for this literal.

    - #### MemLiteral

          public MemLiteral​(Object creator,
                            String label,
                            String lang)

      Creates a new Literal which will get the supplied label and language code.
      Parameters:
        `creator` - The object that is creating this MemLiteral.
        `label` - The label for this literal.
        `lang` - The language code of the supplied label.

    - #### MemLiteral

          public MemLiteral​(Object creator,
                            String label,
                            IRI datatype)

      Creates a new Literal which will get the supplied label and datatype.
      Parameters:
        `creator` - The object that is creating this MemLiteral.
        `label` - The label for this literal.
        `datatype` - The datatype of the supplied label.

  - ### Method Detail

    - #### getCreator

          public Object getCreator()

      Description copied from interface: `MemValue`
      Returns the object that created this MemValue. MemValues are only unique within a single repository, but an application could use several repositories at the same time, passing MemValues generated by one Sail to another Sail. In such situations, the MemValue of the first Sail cannot be used by the second Sail.
      Specified by:
        `getCreator` in interface `MemValue`

    - #### hasStatements

          public boolean hasStatements()

      Description copied from interface: `MemValue`
      Checks whether this MemValue has any statements. A MemValue object has statements if there is at least one statement where it is used as the subject, predicate, object or context value.
      Specified by:
        `hasStatements` in interface `MemValue`
      Returns:
        true if the MemValue has statements, false otherwise.

    - #### getObjectStatementList

          public MemStatementList getObjectStatementList()

      Description copied from interface: `MemValue`
      Gets the list of statements for which this MemValue is the object.
      Specified by:
        `getObjectStatementList` in interface `MemValue`
      Returns:
        A MemStatementList containing the statements.

    - #### getObjectStatementCount

          public int getObjectStatementCount()

      Description copied from interface: `MemValue`
      Gets the number of statements for which this MemValue is the object.
      Specified by:
        `getObjectStatementCount` in interface `MemValue`
      Returns:
        An integer larger than or equal to 0.

    - #### addObjectStatement

          public void addObjectStatement​(MemStatement st)

      Description copied from interface: `MemValue`
      Adds a statement to this MemValue's list of statements for which it is the object.
      Specified by:
        `addObjectStatement` in interface `MemValue`

    - #### removeObjectStatement

          public void removeObjectStatement​(MemStatement st)

      Description copied from interface: `MemValue`
      Removes a statement from this MemValue's list of statements for which it is the object.
      Specified by:
        `removeObjectStatement` in interface `MemValue`

    - #### cleanSnapshotsFromObjectStatements

          public void cleanSnapshotsFromObjectStatements​(int currentSnapshot)

      Description copied from interface: `MemValue`
      Removes statements from old snapshots (those that have expired at or before the specified snapshot version) from this MemValue's list of statements for which it is the object.
      Specified by:
        `cleanSnapshotsFromObjectStatements` in interface `MemValue`
      Parameters:
        `currentSnapshot` - The current snapshot version.