001package com.hfg.chem; 002 003import java.util.Map; 004 005//------------------------------------------------------------------------------ 006/** 007 Interface for an elemental composition and mass tracking object. All matter has 008 mass and an elemental composition. 009 <div> 010 @author J. Alex Taylor, hairyfatguy.com 011 </div> 012 */ 013//------------------------------------------------------------------------------ 014// com.hfg XML/HTML Coding Library 015// 016// This library is free software; you can redistribute it and/or 017// modify it under the terms of the GNU Lesser General Public 018// License as published by the Free Software Foundation; either 019// version 2.1 of the License, or (at your option) any later version. 020// 021// This library is distributed in the hope that it will be useful, 022// but WITHOUT ANY WARRANTY; without even the implied warranty of 023// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 024// Lesser General Public License for more details. 025// 026// You should have received a copy of the GNU Lesser General Public 027// License along with this library; if not, write to the Free Software 028// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 029// 030// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com 031// jataylor@hairyfatguy.com 032//------------------------------------------------------------------------------ 033 034public interface Matter 035{ 036 //-------------------------------------------------------------------------- 037 /** 038 Returns an unmodifiable copy of the elemental composition Map. The keys are 039 Element objects and the values are Floats. Why Floats instead of Integers you 040 ask? Because some amino acid codes such as B and Z are ambiguous averages. 041 @return Map containing the elemental composition 042 */ 043 public Map<Element, Float> getElementalComposition(); 044 045 //-------------------------------------------------------------------------- 046 public Double getMonoisotopicMass(); 047 048 //-------------------------------------------------------------------------- 049 public Double getAverageMass(); 050 051 //-------------------------------------------------------------------------- 052 public Double getOrganicAverageMass(); 053 054 //-------------------------------------------------------------------------- 055 public String getChemicalFormula(); 056 057}