summaryrefslogtreecommitdiff
path: root/projects/net.wotonomy.foundation/src/main/java/net/wotonomy/foundation/xml/XMLDecoder.java
blob: 64ac4b292b9702a9e5f1468703af524b75735117 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
Wotonomy: OpenStep design patterns for pure Java applications.
Copyright (C) 2000 Intersect Software Corporation

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see http://www.gnu.org
*/

package net.wotonomy.foundation.xml;

import java.io.InputStream;
import java.net.URL;

/**
* Defines an interface for classes that can de-serialize 
* java objects from an XML representation. 
*/
public interface XMLDecoder
{
    /**
    * Decodes an object from the specified input stream.
    * @param anInputStream The input stream from which to read.
    * The stream will be read fully.
    * @param aDescription A description to accompany error messages
    * for the stream, typically a file name.
    * @param aURL A URL against which relative references within the
    * XML will be resolved.
    * @return The object that was constructed from the XML content,
    * or null if no object could be constructed.
    */ 
    public Object decode( 
        InputStream anInputStream, String aDescription, URL aURL );
}

/*
 * $Log$
 * Revision 1.1  2006/02/18 22:21:10  cgruber
 * Add in simple xml interfaces from net.wotonomy.xml project.
 * Add cobertura.ser to .cvsignore.  God I wish sourceforge would move on this subversion thing...
 *
 * Revision 1.1  2006/02/16 13:22:22  cgruber
 * Check in all sources in eclipse-friendly maven-enabled packages.
 *
 * Revision 1.2  2001/02/06 14:34:23  mpowers
 * Forgot to rename the package declarations.
 *
 * Revision 1.1  2001/02/06 14:31:19  mpowers
 * Moving XML utilities from util to xml package.
 *
 * Revision 1.1.1.1  2000/12/21 15:52:33  mpowers
 * Contributing wotonomy.
 *
 * Revision 1.2  2000/12/20 16:25:48  michael
 * Added log to all files.
 *
 *
 */