Logo Search packages:      
Sourcecode: f-spot version File versions  Download package

RdfWriter.cs

using System;
using System.Collections;
using System.IO;

namespace SemWeb {
      public abstract class RdfWriter : IDisposable, StatementSink {
            string baseuri;
            bool closed;
            
            public abstract NamespaceManager Namespaces { get; }
            
            public string BaseUri {
                  get {
                        return baseuri;
                  }
                  set {
                        baseuri = value;
                  }
            }

            protected object GetResourceKey(Resource resource) {
                  return resource.GetResourceKey(this);
            }

            protected void SetResourceKey(Resource resource, object value) {
                  resource.SetResourceKey(this, value);
            }
            
            internal static TextWriter GetWriter(string dest) {
                  if (dest == "-")
                        return Console.Out;
                  return new StreamWriter(dest);
            }
            
            bool StatementSink.Add(Statement statement) {
                  Add(statement);
                  return true;
            }
            
            public abstract void Add(Statement statement);

            public virtual void Close() {
                  if (closed) return;
                  closed = true;
            }
            
            public virtual void Write(StatementSource source) {
                  source.Select(this);
            }
            
            void IDisposable.Dispose() {
                  Close();
            }
      }
}

Generated by  Doxygen 1.6.0   Back to index