public class LinkedHashModel extends AbstractModel
Model interface.
 
 This implementation provides constant-time performance for filters using a single term, assuming the hash function
 disperses the elements properly among the buckets. Each term is indexed using a HashMap. When multiple terms
 are provided in a filter the index, of the term that reduces the possible Statements the most, is used and a
 sequential scan is used to filter additional terms.
 
Note that this implementation is not synchronized. If multiple threads access a model concurrently, and at least one of the threads modifies the model, it must be synchronized externally. This is typically accomplished by synchronizing on some object that naturally encapsulates the model. If no such object exists, the set should be "wrapped" using the * Models.synchronizedModel method.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | LinkedHashModel.ModelStatement | 
| Constructor and Description | 
|---|
| LinkedHashModel() | 
| LinkedHashModel(Collection<? extends Statement> c) | 
| LinkedHashModel(int size) | 
| LinkedHashModel(Model model) | 
| LinkedHashModel(Set<Namespace> namespaces) | 
| LinkedHashModel(Set<Namespace> namespaces,
               Collection<? extends Statement> c) | 
| LinkedHashModel(Set<Namespace> namespaces,
               int size) | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | add(Resource subj,
   IRI pred,
   Value obj,
   Resource... contexts)Adds one or more statements to the model. | 
| boolean | add(Statement statement) | 
| void | clear() | 
| boolean | contains(Object o) | 
| boolean | contains(Resource subj,
        IRI pred,
        Value obj,
        Resource... contexts)Determines if statements with the specified subject, predicate, object and (optionally) context exist in this
 model. | 
| Model | filter(Resource subj,
      IRI pred,
      Value obj,
      Resource... contexts)Returns a view of the statements with the specified subject, predicate, object and (optionally) context. | 
| Optional<Namespace> | getNamespace(String prefix)Gets the namespace that is associated with the specified prefix, if any. | 
| Set<Namespace> | getNamespaces()Gets the set that contains the assigned namespaces. | 
| boolean | isEmpty() | 
| Iterator | iterator() | 
| boolean | remove(Resource subj,
      IRI pred,
      Value obj,
      Resource... contexts)Removes statements with the specified subject, predicate, object and (optionally) context exist in this model. | 
| Optional<Namespace> | removeNamespace(String prefix)Removes a namespace declaration by removing the association between a prefix and a namespace name. | 
| void | removeTermIteration(Iterator iterator,
                   Resource subj,
                   IRI pred,
                   Value obj,
                   Resource... contexts)Called by aggregate sets when a term has been removed from a term iterator. | 
| void | setNamespace(Namespace namespace)Sets the prefix for a namespace. | 
| Namespace | setNamespace(String prefix,
            String name)Sets the prefix for a namespace. | 
| int | size() | 
addAll, clear, closeIterator, containsAll, contexts, equals, hashCode, objects, predicates, remove, removeAll, retainAll, subjects, toArray, toArray, unmodifiabletoStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitspliteratorparallelStream, removeIf, streampublic LinkedHashModel()
public LinkedHashModel(Model model)
public LinkedHashModel(Collection<? extends Statement> c)
public LinkedHashModel(int size)
public LinkedHashModel(Set<Namespace> namespaces, Collection<? extends Statement> c)
public Optional<Namespace> getNamespace(String prefix)
NamespaceAwareprefix - A namespace prefix.Optional.empty() if there is
         no such namespace.public Set<Namespace> getNamespaces()
NamespaceAwarepublic Namespace setNamespace(String prefix, String name)
Modelprefix - The new prefix.name - The namespace name that the prefix maps to.Namespace object for the given namespace.public void setNamespace(Namespace namespace)
Modelnamespace - A Namespace object to use in this Model.public Optional<Namespace> removeNamespace(String prefix)
Modelprefix - The namespace prefix of which the assocation with a namespace name is to be removed.Optional.empty()public int size()
size in interface Collection<Statement>size in interface Set<Statement>size in class AbstractCollection<Statement>public boolean add(Statement statement)
add in interface Collection<Statement>add in interface Set<Statement>add in class AbstractModelpublic boolean add(Resource subj, IRI pred, Value obj, Resource... contexts)
Modelsubj - The statement's subject.pred - The statement's predicate.obj - The statement's object.contexts - The contexts to add statements to.public void clear()
clear in interface Collection<Statement>clear in interface Set<Statement>clear in class AbstractModelpublic boolean contains(Object o)
contains in interface Collection<Statement>contains in interface Set<Statement>contains in class AbstractModelpublic Iterator iterator()
public boolean contains(Resource subj, IRI pred, Value obj, Resource... contexts)
Modelsubject, predicate and object parameters can be null to indicate
 wildcards. The contexts parameter is a wildcard and accepts zero or more values. If no contexts are
 specified, statements will match disregarding their context. If one or more contexts are specified, statements
 with a context matching one of these will match. Note: to match statements without an associated context, specify
 the value null and explicitly cast it to type Resource.
 
 Examples: model.contains(s1, null, null) is true if any statements in this model have subject
 s1,
 model.contains(null, null, null, c1) is true if any statements in this model have context c1,
 model.contains(null, null, null, (Resource)null) is true if any statements in this model have no
 associated context,
 model.contains(null, null, null, c1, c2, c3) is true if any statements in this model have context
 c1, c2 or c3 .
subj - The subject of the statements to match, null to match statements with any subject.pred - The predicate of the statements to match, null to match statements with any predicate.obj - The object of the statements to match, null to match statements with any object.contexts - The contexts of the statements to match. If no contexts are specified, statements will match
                 disregarding their context. If one or more contexts are specified, statements with a context
                 matching one of these will match.true if statements match the specified pattern.public boolean remove(Resource subj, IRI pred, Value obj, Resource... contexts)
Modelsubject, predicate and object parameters can be null to indicate wildcards.
 The contexts parameter is a wildcard and accepts zero or more values. If no contexts are specified,
 statements will be removed disregarding their context. If one or more contexts are specified, statements with a
 context matching one of these will be removed. Note: to remove statements without an associated context, specify
 the value null and explicitly cast it to type Resource.
 
 Examples: model.remove(s1, null, null) removes any statements in this model have subject s1,
 model.remove(null, null, null, c1) removes any statements in this model have context c1 ,
 model.remove(null, null, null, (Resource)null) removes any statements in this model have no associated
 context,
 model.remove(null, null, null, c1, c2, c3) removes any statements in this model have context c1,
 c2 or c3.
subj - The subject of the statements to remove, null to remove statements with any subject.pred - The predicate of the statements to remove, null to remove statements with any predicate.obj - The object of the statements to remove, null to remove statements with any object.contexts - The contexts of the statements to remove. If no contexts are specified, statements will be
                 removed disregarding their context. If one or more contexts are specified, statements with a
                 context matching one of these will be removed.true if one or more statements have been removed.public Model filter(Resource subj, IRI pred, Value obj, Resource... contexts)
Modelsubject, predicate and object parameters can be null to indicate wildcards. The
 contexts parameter is a wildcard and accepts zero or more values. If no contexts are specified,
 statements will match disregarding their context. If one or more contexts are specified, statements with a
 context matching one of these will match. Note: to match statements without an associated context, specify the
 value null and explicitly cast it to type Resource.
 
 The returned model is backed by this Model, so changes to this Model are reflected in the returned model, and
 vice-versa. If this Model is modified while an iteration over the returned model is in progress (except through
 the iterator's own remove operation), the results of the iteration are undefined. The model supports
 element removal, which removes the corresponding statement from this Model, via the Iterator.remove,
 Set.remove, removeAll, retainAll, and clear operations. The statements passed to
 the add and addAll operations must match the parameter pattern.
 
 Examples: model.filter(s1, null, null) matches all statements that have subject s1,
 model.filter(null, null, null, c1) matches all statements that have context c1,
 model.filter(null, null, null, (Resource)null) matches all statements that have no associated
 context,
 model.filter(null, null, null, c1, c2, c3) matches all statements that have context c1,
 c2 or c3.
subj - The subject of the statements to match, null to match statements with any subject.pred - The predicate of the statements to match, null to match statements with any predicate.obj - The object of the statements to match, null to match statements with any object.contexts - The contexts of the statements to match. If no contexts are specified, statements will match
                 disregarding their context. If one or more contexts are specified, statements with a context
                 matching one of these will match.public void removeTermIteration(Iterator iterator, Resource subj, IRI pred, Value obj, Resource... contexts)
AbstractModelremoveTermIteration in class AbstractModeliterator - The iterator used to navigate the live set (never null)subj - the subject term to be removed or nullpred - the predicate term to be removed or nullobj - the object term to be removed or nullcontexts - an array of one context term to be removed or an empty arraypublic boolean isEmpty()
isEmpty in interface Collection<Statement>isEmpty in interface Set<Statement>isEmpty in class AbstractModelCopyright © 2015-2020 Eclipse Foundation. All Rights Reserved.