Package er.rest.format

Source Code of er.rest.format.ERXBinaryPListRestWriter

package er.rest.format;

import java.io.ByteArrayOutputStream;

import org.apache.commons.lang.CharEncoding;

import com.webobjects.foundation.NSData;

import er.extensions.foundation.ERXPropertyListSerialization;
import er.rest.ERXRestContext;
import er.rest.ERXRestRequestNode;

public class ERXBinaryPListRestWriter implements IERXRestWriter {
  public void appendHeadersToResponse(ERXRestRequestNode node, IERXRestResponse response, ERXRestContext context) {
    response.setHeader("application/x-plist", "Content-Type");
  }

  public void appendToResponse(ERXRestRequestNode node, IERXRestResponse response, ERXRestFormat.Delegate delegate, ERXRestContext context) {
    if (node != null) {
      node._removeRedundantTypes();
    }
    appendHeadersToResponse(node, response, context);
    Object object = node.toNSCollection(delegate);
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ERXPropertyListSerialization.writePropertyListToStream(object, out, ERXPropertyListSerialization.PListFormat.NSPropertyListBinaryFormat_v1_0, CharEncoding.UTF_8);
    response.appendContentData(new NSData(out.toByteArray()));
  }
}
TOP

Related Classes of er.rest.format.ERXBinaryPListRestWriter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.