org.apache.clerezza.rdf.core.impl
Class WriteBlockedTripleCollection

java.lang.Object
  extended by java.util.AbstractCollection<Triple>
      extended by org.apache.clerezza.rdf.core.impl.WriteBlockedTripleCollection
All Implemented Interfaces:
Iterable<Triple>, Collection<Triple>, TripleCollection
Direct Known Subclasses:
WriteBlockedMGraph

public class WriteBlockedTripleCollection
extends AbstractCollection<Triple>
implements TripleCollection

This is a wrapper object for TripleCollection. If SecurityManger is not null TcManager checks the TcPermission. If read-only permissions are set this wrapper is used instead of TripleCollection and throws exceptions when add or remove methods are called.

Author:
tsuy

Constructor Summary
WriteBlockedTripleCollection(TripleCollection triples)
           
 
Method Summary
 boolean add(Triple e)
           
 boolean addAll(Collection<? extends Triple> c)
           
 void addGraphListener(GraphListener listener, FilterTriple filter)
          Adds the specified GraphListener to the graph.
 void addGraphListener(GraphListener listener, FilterTriple filter, long delay)
          Adds the specified GraphListener to the graph.
 void clear()
           
 Iterator<Triple> filter(NonLiteral subject, UriRef predicate, Resource object)
          Filters triples given a pattern.
 Iterator iterator()
           
 boolean remove(Object o)
           
 boolean removeAll(Collection<?> c)
           
 void removeGraphListener(GraphListener listener)
          Removes the specified GraphListener from the graph.
 boolean retainAll(Collection<?> c)
           
 int size()
           
 
Methods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
contains, containsAll, equals, hashCode, isEmpty, toArray, toArray
 

Constructor Detail

WriteBlockedTripleCollection

public WriteBlockedTripleCollection(TripleCollection triples)
Method Detail

size

public int size()
Specified by:
size in interface Collection<Triple>
Specified by:
size in class AbstractCollection<Triple>

filter

public Iterator<Triple> filter(NonLiteral subject,
                               UriRef predicate,
                               Resource object)
Description copied from interface: TripleCollection
Filters triples given a pattern. filter(null, null, null) returns the same as iterator()

Specified by:
filter in interface TripleCollection
Returns:
Iterator

add

public boolean add(Triple e)
Specified by:
add in interface Collection<Triple>
Overrides:
add in class AbstractCollection<Triple>

addAll

public boolean addAll(Collection<? extends Triple> c)
Specified by:
addAll in interface Collection<Triple>
Overrides:
addAll in class AbstractCollection<Triple>

clear

public void clear()
Specified by:
clear in interface Collection<Triple>
Overrides:
clear in class AbstractCollection<Triple>

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<Triple>
Overrides:
remove in class AbstractCollection<Triple>

removeAll

public boolean removeAll(Collection<?> c)
Specified by:
removeAll in interface Collection<Triple>
Overrides:
removeAll in class AbstractCollection<Triple>

retainAll

public boolean retainAll(Collection<?> c)
Specified by:
retainAll in interface Collection<Triple>
Overrides:
retainAll in class AbstractCollection<Triple>

addGraphListener

public void addGraphListener(GraphListener listener,
                             FilterTriple filter,
                             long delay)
Description copied from interface: TripleCollection
Adds the specified GraphListener to the graph. This listener will be notified, when the graph is modified and the Triple that was part of the modifiaction matched the specified FilterTriple. The notification will be passed to the listener after the specified delay time (in milli-seconds) has passed. If more matching events occur during the delay period, then they are passed all together at the end of the delay period. If the the listener unregisters or the platform is stopped within the period then the already occurred events may not be delivered. All implementations support this method, immutable implementations will typically provide an empty implementation, they shall not throw an exception. Implementation of which the triples change over time without add- and remove-methods being called (e.g. implementation dynamically generating their triples on invocation of the filer-method) may choose not to, or only partially propagate their changes to the listener. They should describe the behavior in the documentation of the class. Implementations should keep weak references the listeners, so that the listener can be garbage collected if its no longer referenced by another object. If delay is 0 notification will happen synchroneously.

Specified by:
addGraphListener in interface TripleCollection
Parameters:
listener - The listener that will be notified
filter - The triple filter with which triples are tested, that were part of the modification.
delay - The time period afer which the listener will be notified in milliseconds.

addGraphListener

public void addGraphListener(GraphListener listener,
                             FilterTriple filter)
Description copied from interface: TripleCollection
Adds the specified GraphListener to the graph. This listener will be notified, when the graph is modified and the Triple that was part of the modifiaction matched the specified FilterTriple. The notification will be passed without delay. Same as addGraphListener(listener, filter, 0).

Specified by:
addGraphListener in interface TripleCollection
Parameters:
listener - The listener that will be notified
filter - The triple filter with which triples are tested, that were part of the modification.

removeGraphListener

public void removeGraphListener(GraphListener listener)
Description copied from interface: TripleCollection
Removes the specified GraphListener from the graph. This listener will no longer be notified, when the graph is modified.

Specified by:
removeGraphListener in interface TripleCollection
Parameters:
listener - The listener to be removed.

iterator

public Iterator iterator()
Specified by:
iterator in interface Iterable<Triple>
Specified by:
iterator in interface Collection<Triple>
Specified by:
iterator in class AbstractCollection<Triple>


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.