01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: /* $Id: RtfJforCmd.java 426576 2006-07-28 15:44:37Z jeremias $ */
19:
20: package org.apache.fop.render.rtf.rtflib.rtfdoc;
21:
22: /*
23: * This file is part of the RTF library of the FOP project, which was originally
24: * created by Bertrand Delacretaz <bdelacretaz@codeconsult.ch> and by other
25: * contributors to the jfor project (www.jfor.org), who agreed to donate jfor to
26: * the FOP project.
27: */
28:
29: import java.io.Writer;
30: import java.util.Iterator;
31: import java.io.IOException;
32:
33: /**
34: * Process "jfor-cmd"
35: */
36: public class RtfJforCmd extends RtfContainer {
37:
38: private static final String PARA_KEEP_ON = "para-keep:on";
39: private static final String PARA_KEEP_OFF = "para-keep:off";
40:
41: private final RtfAttributes attrib;
42: private ParagraphKeeptogetherContext paragraphKeeptogetherContext;
43:
44: RtfJforCmd(RtfContainer parent, Writer w, RtfAttributes attrs)
45: throws IOException {
46: super ((RtfContainer) parent, w);
47: attrib = attrs;
48: paragraphKeeptogetherContext = ParagraphKeeptogetherContext
49: .getInstance();
50: }
51:
52: /**
53: *
54: * @return true (alway)
55: */
56: public boolean isEmpty() {
57: return true;
58: }
59:
60: /**
61: * Execute all jfor-cmd commands
62: * TODO: Consider creating one class for each jfor command.
63: */
64: public void process() {
65: for (Iterator it = attrib.nameIterator(); it.hasNext();) {
66: final String cmd = (String) it.next();
67:
68: if (cmd.equals(PARA_KEEP_ON)) {
69: ParagraphKeeptogetherContext.keepTogetherOpen();
70: } else if (cmd.equals(PARA_KEEP_OFF)) {
71: ParagraphKeeptogetherContext.keepTogetherClose();
72: } else {
73: // this.getRtfFile ().getLog ().logInfo
74: // ("JFOR-CMD ignored, command not recognised:"+cmd);
75: }
76:
77: }
78:
79: }
80:
81: }
|