View Javadoc

1   /*
2    *  Copyright (C) 2003-2005 SINTEF
3    *  Author:  Fredrik Vraalsen (fredrik dot vraalsen at sintef dot no)
4    *  Webpage: http://coras.sourceforge.net/
5    *
6    *  This program is free software; you can redistribute it and/or
7    *  modify it under the terms of the GNU Lesser General Public License
8    *  as published by the Free Software Foundation; either version 2.1
9    *  of the License, or (at your option) any later version.
10   *
11   *  This program is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   *  Lesser General Public License for more details.
15   *
16   *  You should have received a copy of the GNU Lesser General Public
17   *  License along with this program; if not, write to the Free
18   *  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19   *  02111-1307 USA
20   */
21  package coras.representations;
22  
23  import no.sintef.assetrepository.Representation;
24  import no.sintef.umt.XmiLightTransformer;
25  
26  import org.w3c.dom.Document;
27  import org.w3c.dom.Node;
28  
29  public class XmiModel extends UMLModelRepresentation implements XmlRepresentation {
30  
31  	private Node xmiLight = null;
32  	
33  	protected XmiModel(Representation representation) {
34  		super(representation);
35  	}
36  
37      /* (non-Javadoc)
38       * @see coras.representations.XmlRepresentation#getXmlContent()
39       */
40      public Node getXmlContent() {
41          Object content = getContent();
42          if (content == null || content instanceof Node) {
43              return (Node) content;
44          } else {
45              return null; // FIXME error
46          }
47      }
48  
49  	public synchronized Node getXmiLight() {
50  		if (xmiLight == null) {
51  			xmiLight = XmiLightTransformer.getTransformer().getXmiLight(getXmlContent());
52  		}
53  		return xmiLight;
54  	}
55  
56  }