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$ */
19:
20: package org.apache.xmlgraphics.ps.dsc.events;
21:
22: import java.io.IOException;
23:
24: import org.apache.xmlgraphics.ps.DSCConstants;
25: import org.apache.xmlgraphics.ps.PSGenerator;
26:
27: /**
28: * Represents a DSC header comment (beginning with "%!).
29: */
30: public class DSCHeaderComment extends AbstractEvent {
31:
32: private String comment;
33:
34: /**
35: * Creates a new instance.
36: * @param comment the comment
37: */
38: public DSCHeaderComment(String comment) {
39: this .comment = comment;
40: }
41:
42: /**
43: * Returns the comment.
44: * @return the comment
45: */
46: public String getComment() {
47: return this .comment;
48: }
49:
50: /**
51: * Indicates whether the file started by this comments is DSC 3.0 compliant.
52: * @return true if the file is DSC 3.0 compliant.
53: */
54: public boolean isPSAdobe30() {
55: return getComment().startsWith(
56: DSCConstants.PS_ADOBE_30.substring(2));
57: }
58:
59: /**
60: * @see org.apache.xmlgraphics.ps.dsc.events.DSCEvent#generate(
61: * org.apache.xmlgraphics.ps.PSGenerator)
62: */
63: public void generate(PSGenerator gen) throws IOException {
64: gen.writeln("%!" + getComment());
65: }
66:
67: /**
68: * @see org.apache.xmlgraphics.ps.dsc.events.DSCEvent#getEventType()
69: */
70: public int getEventType() {
71: return HEADER_COMMENT;
72: }
73:
74: /**
75: * @see org.apache.xmlgraphics.ps.dsc.events.AbstractEvent#isHeaderComment()
76: */
77: public boolean isHeaderComment() {
78: return true;
79: }
80:
81: }
|