001package com.hfg.xml.msofficexml.docx.drawingml;
002
003
004import com.hfg.xml.msofficexml.docx.Docx;
005import com.hfg.xml.msofficexml.docx.wordprocessingml.WmlXMLTag;
006
007public class DmlNonVisualShapeDrawingProperties extends WmlXMLTag
008{
009   private DmlNonVisualDrawingProperties      mDmlNonVisualDrawingProperties;
010   private DmlNonVisualShapeProperties        mDmlNonVisualShapeProperties;
011
012   //---------------------------------------------------------------------------
013   public DmlNonVisualShapeDrawingProperties(Docx inDocx)
014   {
015      super(DmlXML.NON_VISUAL_SHAPE_DRAWING_PROPS, inDocx);
016   }
017
018   //---------------------------------------------------------------------------
019   /**
020    * Returns the non-visual drawing properties (<p:cNvPr>) tag if one exists or else instantiates a new one.
021    * @return the non-visual drawing properties (<p:cNvPr>) tag
022    */
023   public DmlNonVisualDrawingProperties getNonVisualDrawingProperties()
024   {
025      if (null == mDmlNonVisualDrawingProperties)
026      {
027         // Check if it has been added via addSubtag()...
028         mDmlNonVisualDrawingProperties = getOptionalSubtagByName(DmlXML.NON_VISUAL_DRAWING_PROPS);
029         if (null == mDmlNonVisualDrawingProperties)
030         {
031            mDmlNonVisualDrawingProperties = new DmlNonVisualDrawingProperties();
032            addSubtag(mDmlNonVisualDrawingProperties);
033         }
034      }
035
036      return mDmlNonVisualDrawingProperties;
037   }
038
039   //---------------------------------------------------------------------------
040   /**
041    * Returns the non-visual shape properties (<p:cNvSpPr>) tag if one exists or else instantiates a new one.
042    * @return the non-visual shape properties (<p:cNvSpPr>) tag
043    */
044   public DmlNonVisualShapeProperties getNonVisualShapeProperties()
045   {
046      if (null == mDmlNonVisualShapeProperties)
047      {
048         // Check if it has been added via addSubtag()...
049         mDmlNonVisualShapeProperties = getOptionalSubtagByName(DmlXML.NON_VISUAL_SHAPE_PROPS);
050         if (null == mDmlNonVisualShapeProperties)
051         {
052            mDmlNonVisualShapeProperties = new DmlNonVisualShapeProperties(getParentDoc());
053            addSubtag(mDmlNonVisualShapeProperties);
054         }
055      }
056
057      return mDmlNonVisualShapeProperties;
058   }
059
060}