You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2007/11/22 22:41:57 UTC
svn commit: r597500 -
/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/SimpleResponseContext.java
Author: jmsnell
Date: Thu Nov 22 13:41:57 2007
New Revision: 597500
URL: http://svn.apache.org/viewvc?rev=597500&view=rev
Log:
Simple base impl of an AbstractResponseContext; intended to make it easier to create custom ResponseContext implementations
Added:
incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/SimpleResponseContext.java
Added: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/SimpleResponseContext.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/SimpleResponseContext.java?rev=597500&view=auto
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/SimpleResponseContext.java (added)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/SimpleResponseContext.java Thu Nov 22 13:41:57 2007
@@ -0,0 +1,79 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* under the Apache License, Version 2.0 (the "License"); you may not
+* use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.protocol.server.impl;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+/**
+ * A simple base implementation of AbstractResponseContext that makes it a bit
+ * easier to create custom ResponseContext implementations
+ *
+ * e.g. new SimpleResponseContext() {
+ * public boolean hasEntity() { return true; }
+ * public void writeEntity(Writer writer) { ... }
+ * }
+ */
+public abstract class SimpleResponseContext
+ extends AbstractResponseContext {
+
+ protected String encoding = "UTF-8";
+
+ protected void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+
+ protected String getEncoding() {
+ return this.encoding;
+ }
+
+ public void writeTo(
+ OutputStream out)
+ throws IOException {
+ if (hasEntity())
+ writeTo(new OutputStreamWriter(out,encoding));
+ }
+
+ public void writeTo(
+ Writer writer)
+ throws IOException {
+ if (hasEntity())
+ writeEntity(writer);
+ }
+
+ protected abstract void writeEntity(
+ Writer writer)
+ throws IOException;
+
+ public void writeTo(
+ OutputStream out,
+ org.apache.abdera.writer.Writer writer)
+ throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ public void writeTo(
+ Writer javaWriter,
+ org.apache.abdera.writer.Writer abderaWriter)
+ throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+}