public interface Container extends Resource
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.
Modifier and Type | Method and Description |
---|---|
Container |
add(boolean o)
Add a new value to a container.
|
Container |
add(char o)
Add a new value to a container.
|
Container |
add(double o)
Add a new value to a container.
|
Container |
add(float o)
Add a new value to a container.
|
Container |
add(long o)
Add a new value to a container.
|
Container |
add(Object o)
Add a new value to a container.
|
Container |
add(RDFNode o)
Add a new value to a container.
|
Container |
add(String o)
Add a new value to a container.
|
Container |
add(String o,
String l)
Add a new value to a container.
|
boolean |
contains(boolean o)
Determine whether the container contains a value
|
boolean |
contains(char o)
Determine whether the container contains a value
|
boolean |
contains(double o)
Determine whether the container contains a value
|
boolean |
contains(float o)
Determine whether the container contains a value
|
boolean |
contains(long o)
Determine whether the container contains a value
|
boolean |
contains(Object o)
Determine whether the container contains a value
|
boolean |
contains(RDFNode o)
Determine whether the container contains a value
|
boolean |
contains(String o)
Determine whether the container contains a value
|
boolean |
contains(String o,
String l)
Determine whether the container contains a value
|
boolean |
isAlt()
Verify that the container is an Alt.
|
boolean |
isBag()
Verify that the container is a Bag.
|
boolean |
isSeq()
Verify that the container is a Seq.
|
NodeIterator |
iterator()
Return an iterator over the values.
|
Container |
remove(Statement s)
Remove a value from the container.
|
int |
size()
return the number values in the container.
|
abort, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addLiteral, addProperty, addProperty, addProperty, addProperty, begin, commit, equals, getId, getLocalName, getNameSpace, getProperty, getProperty, getPropertyResourceValue, getRequiredProperty, getRequiredProperty, getURI, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasLiteral, hasProperty, hasProperty, hasProperty, hasProperty, hasURI, inModel, listProperties, listProperties, listProperties, removeAll, removeProperties, toString
as, asLiteral, asResource, canAs, getModel, isAnon, isLiteral, isResource, isURIResource, visitWith
asNode
boolean isAlt()
boolean isSeq()
boolean isBag()
Container add(RDFNode o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.Container add(boolean o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.Container add(long o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.Container add(char o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.Container add(float o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.Container add(double o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.Container add(String o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.Container add(String o, String l)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.l
- The language of the string to be addedContainer add(Object o)
The size of the container is extended by 1 and the new value is added as the last element of the container.
o
- The value to be added.boolean contains(RDFNode o)
o
- the value being tested forboolean contains(boolean o)
o
- the value being tested forboolean contains(long o)
o
- the value being tested forboolean contains(char o)
o
- the value being tested forboolean contains(float o)
o
- the value being tested forboolean contains(double o)
o
- the value being tested forboolean contains(String o)
o
- the value being tested forboolean contains(String o, String l)
o
- the value being tested forl
- the language of the string testedboolean contains(Object o)
o
- the value being tested forContainer remove(Statement s)
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.
s
- The statement to be removed from the model.NodeIterator iterator()
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.
int size()
Licenced under the Apache License, Version 2.0