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}