// PathVisio, // a tool for data visualization and analysis using Biological Pathways // Copyright 2006-2011 BiGCaT Bioinformatics // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package org.pathvisio.core.model; import java.util.HashMap; import java.util.Map; /** Possible values for the cellular component property. * These values describe the biological meaning of an element, it does * not have to correlate with a particular appearance. */ public enum CellularComponentType { NONE("None"), CELL("Cell"), NUCLEUS("Nucleus"), MITOCHONDRIA("Mitochondria"), GOLGIAPPARATUS("Golgi Apparatus"), ENDOPLASMICRETICULUM("Endoplasmic Reticulum"), SARCOPLASMICRETICULUM("Sarcoplasmic Reticulum"), VESICLE("Vesicle"), ORGANELLE("Organelle"), NUCLEOLUS("Nucleolus"), VACUOLE("Vacuole"), LYSOSOME("Lysosome"), CYTOSOL("Cytosol region"), EXTRACELLULAR("Extracellular region"), MEMBRANE("Membrane region"); private final String gpmlName; private static Map byGpmlName = new HashMap(); //Temporary Dynamic Property for cellular component //TODO: refactor as Static Property with next GPML update public final static String CELL_COMPONENT_KEY = "org.pathvisio.CellularComponentProperty"; public static final PropertyType CELL_COMPONENT_TYPE = new PropertyType() { public String getId() { return "core.CellularComponentType"; } }; public static final Property CELL_COMPONENT_PROPERTY = new Property () { public String getId() { return CELL_COMPONENT_KEY; } public String getDescription() { return "This property associates Shapes with cellular component terms"; } public String getName() { return "Cellular Component"; } public PropertyType getType() { return CELL_COMPONENT_TYPE; } public boolean isCollection() { return false; } }; static { for (CellularComponentType t : values()) byGpmlName.put (t.gpmlName, t); } private CellularComponentType(String gpmlName) { this.gpmlName = gpmlName; } public static CellularComponentType fromGpmlName(String value) { return byGpmlName.get(value); } public String getGpmlName() { return gpmlName; } public static String[] getNames() { String[] result = new String[values().length]; for (int i = 0; i < values().length; ++i) result[i] = values()[i].gpmlName; return result; } public String toString() { return gpmlName; } }