Interface Container

All Superinterfaces:
FrontsNode, RDFNode, Resource
All Known Subinterfaces:
Alt, Bag, Seq
All Known Implementing Classes:
AltImpl, BagImpl, ContainerImpl, SeqImpl

public interface Container extends Resource
An RDF Container.

This interface defines methods for accessing RDF container resources. These methods operate on the RDF statements contained in a model. The container implementation may cache state from the underlying model, so objects should not be added to or removed from the container by directly manipulating its properties, whilst the container is being accessed through this interface.

When a member is deleted from a container using this interface, or an iterator returned through this interface, all the other members with higher ordinals are renumbered using an algorithm which may depend on the type of the container.

This interface provides methods supporting typed literals. This means that methods are provided which will translate a built in type, or an object to an RDF Literal. This translation is done by invoking the toString() method of the object, or its built in equivalent. The reverse translation is also supported. This is built in for built in types. Factory objects, provided by the application, are used for application objects.

This interface provides methods for supporting enhanced resources. An enhanced resource is a resource to which the application has added behaviour. RDF containers are examples of enhanced resources built in to this package. Enhanced resources are supported by encapsulating a resource created by an implementation in another class which adds the extra behaviour. Factory objects are used to construct such enhanced resources.

  • Method Details

    • isAlt

      boolean isAlt()
      Verify that the container is an Alt. This method will return true if the object is in a model and that model contains the triple < this, RDF.type, RDF.Alt > otherwise returns false.
    • isSeq

      boolean isSeq()
      Verify that the container is a Seq. This method will return true if the object is in a model and that model contains the triple < this, RDF.type, RDF.Seq > otherwise returns false.
    • isBag

      boolean isBag()
      Verify that the container is a Bag. This method will return true if the object is in a model and that model contains the triple < this, RDF.type, RDF.Bag > otherwise returns false.
    • add

      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(boolean o)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(long o)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(char o)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(float o)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(double o)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(String o)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(String o, String l)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      l - The language of the string to be added
      Returns:
      this object so that calls may be cascaded.
    • add

      Container add(Object o)
      Add a new value to a container.

      The size of the container is extended by 1 and the new value is added as the last element of the container.

      Parameters:
      o - The value to be added.
      Returns:
      this object so that calls may be cascaded.
    • contains

      boolean contains(RDFNode o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(boolean o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(long o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(char o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(float o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(double o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(String o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(String o, String l)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      l - the language of the string tested
      Returns:
      true if and only if the container contains o
    • contains

      boolean contains(Object o)
      Determine whether the container contains a value
      Parameters:
      o - the value being tested for
      Returns:
      true if and only if the container contains o
    • remove

      Container remove(Statement s)
      Remove a value from the container.

      The predicate of the statement s identifies the ordinal of the value to be removed. Once removed, the values in the container with a higher ordinal value are renumbered. The renumbering algorithm depends on the type of container.

      Parameters:
      s - The statement to be removed from the model.
      Returns:
      this container to enable cascading calls.
    • iterator

      NodeIterator iterator()
      Return an iterator over the values.

      Note the iterator returned is not a standard java.util.iterator. It has a close method which SHOULD be called if the application has not completed the iteration, but no longer requires the iterator. This will enable the freeing of resources in, for example, implementations which store their models in a database.

      Returns:
      Return an iterator over the values.
    • size

      int size()
      return the number values in the container.
      Returns:
      the number of values int the container.