001package com.hfg.xml.msofficexml.docx.drawingml; 002 003 004import com.hfg.xml.XMLTag; 005 006public class DmlPresetGeometry extends XMLTag 007{ 008 private DmlShapeAdjustValues mShapeAdjustValues; 009 010 //--------------------------------------------------------------------------- 011 public DmlPresetGeometry() 012 { 013 super(DmlXML.PRESET_GEOMETRY); 014 init(); 015 } 016 017 //--------------------------------------------------------------------------- 018 public DmlPresetGeometry(DmlShapeType inValue) 019 { 020 this(); 021 setShape(inValue); 022 } 023 024 //--------------------------------------------------------------------------- 025 private void init() 026 { 027 getShapeAdjustValues(); 028 } 029 030 //--------------------------------------------------------------------------- 031 public DmlPresetGeometry setShape(DmlShapeType inValue) 032 { 033 setAttribute(DmlXML.PRESET_ATT, inValue.name()); 034 return this; 035 } 036 037 //--------------------------------------------------------------------------- 038 /** 039 * Returns the shape adjusted values (avLst) tag if one exists or else instantiates a new one. 040 * @return the shape adjusted values tag for this preset geometry 041 */ 042 public DmlShapeAdjustValues getShapeAdjustValues() 043 { 044 if (null == mShapeAdjustValues) 045 { 046 // Check if it has been added via addSubtag()... 047 mShapeAdjustValues = getOptionalSubtagByName(DmlXML.SHAPE_ADJUST_VALUES); 048 if (null == mShapeAdjustValues) 049 { 050 mShapeAdjustValues = new DmlShapeAdjustValues(); 051 mShapeAdjustValues.addContent(""); 052 addSubtag(0, mShapeAdjustValues); 053 } 054 } 055 056 return mShapeAdjustValues; 057 } 058 059}