Java Doc for RDFList.java in  » RSS-RDF » Jena-2.5.5 » com » hp » hpl » jena » rdf » model » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » RSS RDF » Jena 2.5.5 » com.hp.hpl.jena.rdf.model 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


com.hp.hpl.jena.rdf.model.RDFList

All known Subclasses:   com.hp.hpl.jena.rdf.model.impl.RDFListImpl,
RDFList
public interface RDFList extends Resource(Code)

Provides a convenience encapsulation for lists formed from chains of RDF statements arranged to form a head/tail cons-cell structure. The properties that form the links between cells, and from cells to values, are specified by a vocabulary interface, so this abstraction is designed to cope equally well with DAML lists, RDF lists, and user-defined lists.

A well-formed list has cells that are made up of three statements: one denoting the rdf:type of the list cell, one denoting the link to the value of the list at that point, and one pointing to the list tail. If a list cell is not well-formed, list operations may fail in unpredictable ways. However, to explicitly check that the list is well-formed at all times is expensive. Therefore the list operates in two modes: in strict mode, the well-formedness of the list is checked at the start of each list operation, and an InvalidListException is thrown if the list is not well- formed. This ensures that list operations are safe, but will slow down processing. In non-strict mode, this checking is switched off, but can be invoked explicitly by clients by calling RDFList.isValid . By default, RDF lists are processed in non-strict mode.


author:
   Ian Dickinson, HP Labs
author:
   (email)
version:
   Release ($Id: RDFList.java,v 1.13 2008/01/02 12:05:46 andy_seaborne Exp $)

Inner Class :public static interface ApplyFn
Inner Class :public static interface ReduceFn



Method Summary
public  voidadd(RDFNode value)
    

Add the given value to the end of the list.

public  RDFListappend(RDFList list)
    

Answer a new list that is formed by adding each element of this list to the head of the given list.

public  RDFListappend(Iterator nodes)
    

Answer a new list that is formed by adding each element of this list to the head of the the list formed from the given nodes.

public  voidapply(ApplyFn fn)
    

Apply a function to each value in the list in turn.

public  ListasJavaList()
    

Answer the contents of this RDF list as a Java list of RDFNode values.

public  voidconcatenate(RDFList list)
    

Change the tail of this list to point to the given list, so that this list becomes the list of the concatenation of the elements of both lists. This is a side-effecting operation on this list; for a non side-effecting alternative, see RDFList.append .

public  voidconcatenate(Iterator nodes)
    

Add the nodes returned by the given iterator to the end of this list.

public  RDFListcons(RDFNode value)
    

Return a reference to a new list cell whose head is value and whose tail is this list.

public  booleancontains(RDFNode value)
    

Answer true if the given node appears as the value of a value of any of the cells of this list.

public  RDFListcopy()
    

Answer a list that contains all of the elements of this list in the same order, but is a duplicate copy in the underlying model.

public  RDFNodeget(int i)
    

Answer the node that is the i'th element of the list, assuming that the head is item zero.

public  RDFNodegetHead()
    

Answer the value that is at the head of the list.

public  booleangetStrict()
    

Answer true lists are operating in strict mode, in which the well- formedness of the list is checked at every operation.

public  RDFListgetTail()
    

Answer the list that is the tail of this list.

public  StringgetValidityErrorMessage()
    

Answer the error message returned by the last failed validity check, if any.

public  intindexOf(RDFNode value)
    

Answer the index of the first occurrence of the given value in the list, or -1 if the value is not in the list.

public  intindexOf(RDFNode value, int start)
    

Answer the index of the first occurrence of the given value in the list after index start, or -1 if the value is not in the list after the given start point.

public  booleanisEmpty()
     Answer true if this list is the empty list.
public  booleanisValid()
    

Answer true if the list is well-formed, by checking that each node is correctly typed, and has a head and tail pointer from the correct vocabulary.

public  ExtendedIteratoriterator()
    

Answer an iterator over the elements of the list.

public  ExtendedIteratormapWith(Map1 fn)
    
public  Objectreduce(ReduceFn fn, Object initial)
    

Apply a function to each value in the list in turn, accumulating the results in an accumulator.

public  RDFListremove(RDFNode val)
    

Remove the given value from this list.

public  voidremoveAll()
    

Deprecated.

public  RDFListremoveHead()
    

Remove the value from the head of the list.

public  voidremoveList()
    

Remove all of the components of this list from the model.

public  RDFNodereplace(int i, RDFNode value)
    

Replace the value at the i'th position in the list with the given value.

public  booleansameListAs(RDFList list)
    

Answer true if this list has the same elements in the same order as the given list.

public  RDFNodesetHead(RDFNode value)
    

Update the head of the list to have the given value, and return the previous value.

public  voidsetStrict(boolean strict)
    

Set a flag to indicate whether to strictly check the well-formedness of lists at each operation.

public  RDFListsetTail(RDFList tail)
    

Update the list cell at the front of the list to have the given list as tail.

public  intsize()
    

Answer the number of elements in the list.

public  RDFListwith(RDFNode value)
    

Answer the list that is this list with the given value added to the end of the list.




Method Detail
add
public void add(RDFNode value)(Code)

Add the given value to the end of the list. This is a side-effecting operation on the underlying model that is only defined if this is not the empty list. If this list is the empty (nil) list, we cannot perform a side-effecting update without changing the URI of this node (from rdf:nilRDFList.with and RDFList.cons .


Parameters:
  value - A value to add to the end of the list
exception:
  EmptyListUpdateException - if an attempt is made to add to the empty list.



append
public RDFList append(RDFList list)(Code)

Answer a new list that is formed by adding each element of this list to the head of the given list. This is a non side-effecting operation on either this list or the given list, but generates a copy of this list. For a more storage efficient alternative, see RDFList.concatenate concatenate .


Parameters:
  list - The argument list A new RDFList that contains all of this elements of this list,followed by all of the elements of the given list.



append
public RDFList append(Iterator nodes)(Code)

Answer a new list that is formed by adding each element of this list to the head of the the list formed from the given nodes. This is a non side-effecting operation on either this list or the given list, but generates a copy of this list. For a more storage efficient alternative, see RDFList.concatenate concatenate .


Parameters:
  nodes - An iterator whose range is RDFNode A new RDFList that contains all of this elements of this list,followed by all of the elements of the given iterator.



apply
public void apply(ApplyFn fn)(Code)

Apply a function to each value in the list in turn.


Parameters:
  fn - The function to apply to each list node.



asJavaList
public List asJavaList()(Code)

Answer the contents of this RDF list as a Java list of RDFNode values.

The contents of this list as a Java List.



concatenate
public void concatenate(RDFList list)(Code)

Change the tail of this list to point to the given list, so that this list becomes the list of the concatenation of the elements of both lists. This is a side-effecting operation on this list; for a non side-effecting alternative, see RDFList.append . Due to the problem of maintaining the URI invariant on a node, this operation will throw an exception if an attempt is made to concatenate onto an empty list. To avoid this, test for an empty list: if true replace the empty list with the argument list, otherwise proceed with the concatenate as usual. An alternative solution is to use RDFList.append and replace the original list with the return value.


Parameters:
  list - The argument list to concatenate to this list
exception:
  EmptyListUpdateException - if this list is the nil list



concatenate
public void concatenate(Iterator nodes)(Code)

Add the nodes returned by the given iterator to the end of this list.


Parameters:
  nodes - An iterator whose range is RDFNode
exception:
  EmptyListUpdateException - if this list is the nil list
See Also:   RDFList.concatenate(RDFList)
See Also:    for details on avoiding the empty list update exception.



cons
public RDFList cons(RDFNode value)(Code)

Return a reference to a new list cell whose head is value and whose tail is this list.


Parameters:
  value - A new value to add to the head of the list The new list, whose head is value



contains
public boolean contains(RDFNode value)(Code)

Answer true if the given node appears as the value of a value of any of the cells of this list.


Parameters:
  value - A value to test for True if the list contains value.



copy
public RDFList copy()(Code)

Answer a list that contains all of the elements of this list in the same order, but is a duplicate copy in the underlying model.

A copy of the current list



get
public RDFNode get(int i)(Code)

Answer the node that is the i'th element of the list, assuming that the head is item zero. If the list is too short to have an i'th element, throws a ListIndexException .


Parameters:
  i - The index into the list, from 0 The list value at index i, or null
exception:
  ListIndexException - if the list has fewer than (i + 1)elements.



getHead
public RDFNode getHead()(Code)

Answer the value that is at the head of the list.

The value that is associated with the head of the list.
exception:
  EmptyListException - if this list is the empty list



getStrict
public boolean getStrict()(Code)

Answer true lists are operating in strict mode, in which the well- formedness of the list is checked at every operation.

True lists are being strictly checked.



getTail
public RDFList getTail()(Code)

Answer the list that is the tail of this list.

The tail of the list, as a list
exception:
  EmptyListException - if this list is the empty list



getValidityErrorMessage
public String getValidityErrorMessage()(Code)

Answer the error message returned by the last failed validity check, if any.

The most recent error message, or null.
See Also:   RDFList.isValid



indexOf
public int indexOf(RDFNode value)(Code)

Answer the index of the first occurrence of the given value in the list, or -1 if the value is not in the list.


Parameters:
  value - The value to search for The index of the first occurrence of value in the list, or-1 if not found.



indexOf
public int indexOf(RDFNode value, int start)(Code)

Answer the index of the first occurrence of the given value in the list after index start, or -1 if the value is not in the list after the given start point.


Parameters:
  value - The value to search for
Parameters:
  start - The index into the list to start searching from The index of the first occurrence of value in the list not lessthan start, or -1 if not found.
exception:
  ListIndexException - if start is greater than thelength of the list.



isEmpty
public boolean isEmpty()(Code)
Answer true if this list is the empty list. True if this is the empty (nil) list, otherwise false.



isValid
public boolean isValid()(Code)

Answer true if the list is well-formed, by checking that each node is correctly typed, and has a head and tail pointer from the correct vocabulary. If the list is invalid, the reason is available via RDFList.getValidityErrorMessage .

True if the list is well-formed.
See Also:   RDFList.getValidityErrorMessage



iterator
public ExtendedIterator iterator()(Code)

Answer an iterator over the elements of the list. Note that this iterator does not take a snapshot of the list, so changes to the list statements in the model while iterating will affect the behaviour of the iterator. To get an iterator that is not affected by model changes, use RDFList.asJavaList .

A closable iterator over the elements of the list.



mapWith
public ExtendedIterator mapWith(Map1 fn)(Code)

Answer an iterator of the elements of this list, to each of which the given map function has been applied.


Parameters:
  fn - A Map function The iterator of the elements of this list mapped with the given map function.



reduce
public Object reduce(ReduceFn fn, Object initial)(Code)

Apply a function to each value in the list in turn, accumulating the results in an accumulator. The final value of the accumulator is returned as the value of reduce().


Parameters:
  fn - The reduction function to apply
Parameters:
  initial - The initial value for the accumulator The final value of the accumulator.



remove
public RDFList remove(RDFNode val)(Code)

Remove the given value from this list. If val does not occur in the list, no action is taken. Since removing the head of the list will invalidate the list head cell, in general the list must return the list that results from this operation. However, in many cases the return value will be the same as the object that this method is invoked on


Parameters:
  val - The value to be removed from the list The resulting list, which will be the same as the current list in mostcases, except when val occurs at the head of the list.



removeAll
public void removeAll()(Code)

Deprecated. Since an RDFList does not behave like a Java container, it is not the case that the contents of the list can be removed and the container filled with values again. Therefore, this method name has been deprecated in favour of RDFList.removeList

RDFList.removeList



removeHead
public RDFList removeHead()(Code)

Remove the value from the head of the list. The tail of the list remains in the model. Note that no changes are made to list cells that point to this list cell as their tail. Immediately following a removeHead operation, such lists will be in a non-valid state.

The remainder of the list after the head is removed (i.e. thepre-removal list tail)



removeList
public void removeList()(Code)

Remove all of the components of this list from the model. Once this operation has completed, the RDFList resource on which it was called will no longer be a resource in the model, so further methods calls on the list object (for example, RDFList.size will fail. Due to restrictions on the encoding of lists in RDF, it is not possible to perform an operation which empties a list and then adds further values to that list. Client code wishing to perform such an operation should do so in two steps: first remove the old list, then create a new list with the new contents. It is important that RDF statements that reference the old list (in the object position) be updated to point to the newly created list. Note that this is operation is only removing the list cells themselves, not the resources referenced by the list - unless being the object of an rdf:first statement is the only mention of that resource in the model.




replace
public RDFNode replace(int i, RDFNode value)(Code)

Replace the value at the i'th position in the list with the given value. If the list is too short to have an i'th element, throws a ListIndexException .


Parameters:
  i - The index into the list, from 0
Parameters:
  value - The new value to associate with the i'th list element The value that was previously at position i in the list
exception:
  ListIndexException - if the list has fewer than (i + 1)elements.



sameListAs
public boolean sameListAs(RDFList list)(Code)

Answer true if this list has the same elements in the same order as the given list. Note that the standard equals test just tests for equality of two given list cells. While such a test is sufficient for many purposes, this test provides a broader equality definition, but is correspondingly more expensive to test.


Parameters:
  list - The list to test against True if the given list and this list are the same length, andcontain equal elements in the same order.



setHead
public RDFNode setHead(RDFNode value)(Code)

Update the head of the list to have the given value, and return the previous value.


Parameters:
  value - The value that will become the value of the list head
exception:
  EmptyListException - if this list is the empty list



setStrict
public void setStrict(boolean strict)(Code)

Set a flag to indicate whether to strictly check the well-formedness of lists at each operation. Default false. Note that the flag that is manipulated is actually a static: it applies to all lists. However, RDFList is a Java interface, and Java does not permit static methods in interfaces.


Parameters:
  strict - The static flag for whether lists will be checked strictly.



setTail
public RDFList setTail(RDFList tail)(Code)

Update the list cell at the front of the list to have the given list as tail. The old tail is returned, and remains in the model.


Parameters:
  tail - The new tail for this list. The old tail.



size
public int size()(Code)

Answer the number of elements in the list.

The size of the list as an integer



with
public RDFList with(RDFNode value)(Code)

Answer the list that is this list with the given value added to the end of the list. This operation differs from RDFList.add in that it will always work, even on an empty list, but the return value is the updated list. Specifically, in the case of adding a value to the empty list, the returned list will not be the same as this list. Client code should not assume that this is an in-place update, but should ensure that the resulting list is asserted back into the graph into the appropriate relationships.


Parameters:
  value - A value to add to the end of the list The list that results from adding a value to the end of this list



www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.