/******************************************************************************* * Copyright (c) 2007, 2010 Association for Decentralized Information Management * in Industry THTH ry. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ package org.simantics.graph.representation; import java.util.TreeMap; import org.simantics.databoard.Bindings; import org.simantics.databoard.binding.Binding; import org.simantics.databoard.binding.mutable.Variant; import org.simantics.databoard.serialization.Serializer; /** * Transferable graph datatype. * See specification. * @author Hannu Niemistö */ public class TransferableGraph1 { public static Binding BINDING = Bindings.getBindingUnchecked(TransferableGraph1.class); public static Serializer SERIALIZER = Bindings.getSerializerUnchecked(BINDING); public int resourceCount; public TreeMap extensions; public Identity[] identities; public int[] statements; public Value[] values; public TransferableGraph1() { } public TransferableGraph1(int resourceCount, Identity[] identities, int[] statements, Value[] values) { this(resourceCount, identities, statements, values, new TreeMap()); } public TransferableGraph1(int resourceCount, Identity[] identities, int[] statements, Value[] values, TreeMap extensions) { this.resourceCount = resourceCount; this.identities = identities; this.statements = statements; this.values = values; this.extensions = extensions; } public void print() { System.out.println("Identities"); for(Identity id : identities) { System.out.print(" " + id.resource + " = "); if(id.definition instanceof Root) { Root def = (Root)id.definition; System.out.println("ROOT(" + def.name + ")"); } else if(id.definition instanceof External) { External def = (External)id.definition; System.out.println("EXTERNAL(" + def.parent + ", " + def.name + ")"); } else if(id.definition instanceof Internal) { Internal def = (Internal)id.definition; System.out.println("INTERNAL(" + def.parent + ", " + def.name + ")"); } } System.out.println("Statements:"); for(int i=0;i