MakeResponseHeader.java 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright (c) 2002 Per M.A. Bothner and Brainfood Inc.
  2. // This is free software; for terms and warranty disclaimer see ./COPYING.
  3. package gnu.kawa.xml;
  4. import gnu.lists.*;
  5. import gnu.mapping.*;
  6. /** A procedure that implements the "response-header" function.
  7. * It is implemented by returning an attribute object,
  8. * which represents the (header-key, header-value)-pair.
  9. * Document-level attributes are otherwise not valid. */
  10. public class MakeResponseHeader extends MethodProc
  11. {
  12. public static MakeResponseHeader makeResponseHeader
  13. = new MakeResponseHeader();
  14. private MakeResponseHeader() {
  15. this.applyToConsumerMethod =
  16. Procedure.lookupApplyHandle(MakeResponseHeader.class, "applyToConsumer");
  17. }
  18. public static Object applyToConsumer(Procedure proc, CallContext ctx) throws Throwable {
  19. String key = ctx.getNextArg().toString();
  20. Object val = ctx.getNextArg();
  21. ctx.lastArg();
  22. Consumer out = ctx.consumer;
  23. out.startAttribute(key);
  24. out.write(val.toString());
  25. out.endAttribute();
  26. return null;
  27. }
  28. }