001 package nl.cwi.sen1.tide.tool.support; 002 003 //{{{ imports 004 005 import aterm.ATerm; 006 import aterm.ATermFactory; 007 008 //}}} 009 010 public class Port 011 { 012 public static ATermFactory factory; 013 014 private ATerm term; 015 016 //{{{ public static void initialize(ATermFactory factory) 017 018 public static void initialize(ATermFactory factory) 019 { 020 Port.factory = factory; 021 } 022 023 //}}} 024 025 //{{{ public static Port parsePort(String spec) 026 027 public static Port parse(String spec) 028 { 029 try { 030 return fromTerm(factory.parse(spec)); 031 } catch (Exception e) { 032 return null; 033 } 034 } 035 036 //}}} 037 038 //{{{ public static Port makeStarted() 039 040 public static Port makeStarted() 041 { 042 return make("started"); 043 } 044 045 //}}} 046 //{{{ public static Port makeStopped() 047 048 public static Port makeStopped() 049 { 050 return make("stopped"); 051 } 052 053 //}}} 054 //{{{ public static Port makeStep() 055 056 public static Port makeStep() 057 { 058 return make("step"); 059 } 060 061 //}}} 062 //{{{ public static Port make(String port) 063 064 public static Port make(String port) 065 { 066 return new Port(factory.parse(port)); 067 } 068 069 //}}} 070 //{{{ public static Port make(ATerm term) 071 072 public static Port make(ATerm term) 073 { 074 return new Port(term); 075 } 076 077 //}}} 078 //{{{ public static Port fromTerm(ATerm term) 079 080 public static Port fromTerm(ATerm term) 081 { 082 return make(term); 083 } 084 085 //}}} 086 087 //{{{ Port(ATerm term) 088 089 Port(ATerm term) 090 { 091 this.term = term; 092 } 093 094 //}}} 095 096 //{{{ public ATerm toTerm() 097 098 public ATerm toTerm() 099 { 100 return term; 101 } 102 103 //}}} 104 //{{{ public String toString() 105 106 public String toString() 107 { 108 return term.toString(); 109 } 110 111 //}}} 112 } 113