001: /*
002: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License as published by
011: * the Free Software Foundation; either version 2 of the License, or
012: * (at your option) any later version.
013: *
014: * Resin Open Source is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
017: * of NON-INFRINGEMENT. See the GNU General Public License for more
018: * details.
019: *
020: * You should have received a copy of the GNU General Public License
021: * along with Resin Open Source; if not, write to the
022: * Free SoftwareFoundation, Inc.
023: * 59 Temple Place, Suite 330
024: * Boston, MA 02111-1307 USA
025: *
026: * @author Scott Ferguson
027: */
028:
029: package com.caucho.xsl;
030:
031: import javax.xml.transform.Source;
032: import java.io.File;
033:
034: /**
035: * Source for an input string.
036: */
037: public class StringSource implements Source {
038: /**
039: * The feature name to tell if the transformer can handle stream input.
040: */
041: public static final String FEATURE = "stringsource";
042:
043: /**
044: * Underlying string.
045: */
046: private String string;
047:
048: /**
049: * System identifier (URL).
050: */
051: private String systemId;
052:
053: /**
054: * Public identifier.
055: */
056: private String publicId;
057:
058: /**
059: * Zero-arg constructor.
060: */
061: public StringSource() {
062: }
063:
064: /**
065: * Create a StringSource with a given string.
066: *
067: * @param source the source string.
068: */
069: public StringSource(String source) {
070: this .string = source;
071: }
072:
073: /**
074: * Create a StringSource with a given string and systemId.
075: *
076: * @param source the source string.
077: * @param systemId the URL representing the string location.
078: */
079: public StringSource(String source, String systemId) {
080: this .string = source;
081: this .systemId = systemId;
082: }
083:
084: /**
085: * Returns the source string.
086: */
087: public String getString() {
088: return string;
089: }
090:
091: /**
092: * Sets the source string stream.
093: */
094: public void setString(String is) {
095: this .string = is;
096: }
097:
098: /**
099: * Returns the system identifier (URL).
100: */
101: public String getSystemId() {
102: return systemId;
103: }
104:
105: /**
106: * Sets the system identifier (URL).
107: */
108: public void setSystemId(String systemId) {
109: this .systemId = systemId;
110: }
111:
112: /**
113: * Sets the system identifier (URL) from a File.
114: */
115: public void setSystemId(File file) {
116: this .systemId = file.toString();
117: }
118:
119: /**
120: * Returns the public identifier (URL).
121: */
122: public String getPublicId() {
123: return publicId;
124: }
125:
126: /**
127: * Sets the public identifier (URL).
128: */
129: public void setPublicId(String publicId) {
130: this.publicId = publicId;
131: }
132: }
|