]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.message.ui/src/org/simantics/message/ui/scheme/URLReferenceSerializer.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.message.ui / src / org / simantics / message / ui / scheme / URLReferenceSerializer.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.message.ui.scheme;
13
14 import java.net.MalformedURLException;
15 import java.net.URI;
16 import java.net.URISyntaxException;
17 import java.net.URL;
18
19 import org.simantics.message.IReferenceSerializer;
20 import org.simantics.message.ReferenceSerializationException;
21
22 /**
23  * @author Tuukka Lehtonen
24  */
25 public class URLReferenceSerializer implements IReferenceSerializer {
26
27     @Override
28     public boolean handles(Object o) {
29         return o instanceof URL;
30     }
31
32     @Override
33     public Object deserialize(URI data) throws ReferenceSerializationException {
34         try {
35             return data.toURL();
36         } catch (MalformedURLException e) {
37             throw new ReferenceSerializationException(e);
38         }
39     }
40
41     @Override
42     public URI serialize(Object o) throws ReferenceSerializationException {
43         assert handles(o);
44         try {
45             return ((URL) o).toURI();
46         } catch (URISyntaxException e) {
47             throw new ReferenceSerializationException(e);
48         }
49     }
50
51 }