001package com.hfg.xml.msofficexml.xlsx.spreadsheetml.style; 002 003import com.hfg.css.CSSBorderStyle; 004 005import java.util.HashMap; 006import java.util.Map; 007 008public class SsmlBorderStyle 009{ 010 private static final Map<String, SsmlBorderStyle> sValueMap = new HashMap<String, SsmlBorderStyle>(25); 011 012 private String mName; 013 014 public static final SsmlBorderStyle dashDot = new SsmlBorderStyle("dashDot"); 015 public static final SsmlBorderStyle dashDotDot = new SsmlBorderStyle("dashDotDot"); 016 public static final SsmlBorderStyle dashed = new SsmlBorderStyle("dashed"); 017 public static final SsmlBorderStyle dbl = new SsmlBorderStyle("double"); // Can't call it 'double' because that's a reserved word 018 public static final SsmlBorderStyle dotted = new SsmlBorderStyle("dotted"); 019 public static final SsmlBorderStyle hair = new SsmlBorderStyle("hair"); 020 public static final SsmlBorderStyle medium = new SsmlBorderStyle("medium"); 021 public static final SsmlBorderStyle mediumDashDot = new SsmlBorderStyle("mediumDashDot"); 022 public static final SsmlBorderStyle mediumDashDotDot = new SsmlBorderStyle("mediumDashDotDot"); 023 public static final SsmlBorderStyle mediumDashed = new SsmlBorderStyle("mediumDashed"); 024 public static final SsmlBorderStyle none = new SsmlBorderStyle("none"); 025 public static final SsmlBorderStyle slantDashDot = new SsmlBorderStyle("slantDashDot"); 026 public static final SsmlBorderStyle thick = new SsmlBorderStyle("thick"); 027 public static final SsmlBorderStyle thin = new SsmlBorderStyle("thin"); 028 029 030 //--------------------------------------------------------------------------- 031 private SsmlBorderStyle(String inValue) 032 { 033 mName = inValue; 034 sValueMap.put(mName, this); 035 } 036 037 //--------------------------------------------------------------------------- 038 public String name() 039 { 040 return mName; 041 } 042 043 //--------------------------------------------------------------------------- 044 @Override 045 public String toString() 046 { 047 return name(); 048 } 049 050 //--------------------------------------------------------------------------- 051 @Override 052 public int hashCode() 053 { 054 return mName.hashCode(); 055 } 056 057 //--------------------------------------------------------------------------- 058 public static SsmlBorderStyle valueOf(String inString) 059 { 060 return sValueMap.get(inString); 061 } 062 063 //--------------------------------------------------------------------------- 064 public static SsmlBorderStyle valueOf(CSSBorderStyle inCSSStyle) 065 { 066 SsmlBorderStyle value = null; 067 068 if (inCSSStyle != null) 069 { 070 if (inCSSStyle == CSSBorderStyle.NONE) 071 { 072 value = SsmlBorderStyle.none; 073 } 074 else if (inCSSStyle == CSSBorderStyle.SOLID) 075 { 076 value = SsmlBorderStyle.medium; 077 } 078 else if (inCSSStyle == CSSBorderStyle.DOUBLE) 079 { 080 value = SsmlBorderStyle.dbl; 081 } 082 else if (inCSSStyle == CSSBorderStyle.DASHED) 083 { 084 value = SsmlBorderStyle.dashed; 085 } 086 else if (inCSSStyle == CSSBorderStyle.DOTTED) 087 { 088 value = SsmlBorderStyle.dotted; 089 } 090 else if (inCSSStyle == CSSBorderStyle.INSET) 091 { 092 value = SsmlBorderStyle.medium; 093 } 094 else if (inCSSStyle == CSSBorderStyle.OUTSET) 095 { 096 value = SsmlBorderStyle.medium; 097 } 098 } 099 100 return value; 101 } 102 103}