You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

XSLFPropertiesDelegate.java 46KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862
  1. /* ====================================================================
  2. Licensed to the Apache Software Foundation (ASF) under one or more
  3. contributor license agreements. See the NOTICE file distributed with
  4. this work for additional information regarding copyright ownership.
  5. The ASF licenses this file to You under the Apache License, Version 2.0
  6. (the "License"); you may not use this file except in compliance with
  7. the License. You may obtain a copy of the License at
  8. http://www.apache.org/licenses/LICENSE-2.0
  9. Unless required by applicable law or agreed to in writing, software
  10. distributed under the License is distributed on an "AS IS" BASIS,
  11. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. See the License for the specific language governing permissions and
  13. limitations under the License.
  14. ==================================================================== */
  15. package org.apache.poi.xslf.usermodel;
  16. import org.apache.poi.util.Internal;
  17. import org.apache.poi.util.POILogFactory;
  18. import org.apache.poi.util.POILogger;
  19. import org.apache.xmlbeans.XmlCursor;
  20. import org.apache.xmlbeans.XmlObject;
  21. import org.openxmlformats.schemas.drawingml.x2006.main.CTBlipFillProperties;
  22. import org.openxmlformats.schemas.drawingml.x2006.main.CTCustomGeometry2D;
  23. import org.openxmlformats.schemas.drawingml.x2006.main.CTEffectContainer;
  24. import org.openxmlformats.schemas.drawingml.x2006.main.CTEffectList;
  25. import org.openxmlformats.schemas.drawingml.x2006.main.CTFillProperties;
  26. import org.openxmlformats.schemas.drawingml.x2006.main.CTGradientFillProperties;
  27. import org.openxmlformats.schemas.drawingml.x2006.main.CTGroupFillProperties;
  28. import org.openxmlformats.schemas.drawingml.x2006.main.CTLineProperties;
  29. import org.openxmlformats.schemas.drawingml.x2006.main.CTNoFillProperties;
  30. import org.openxmlformats.schemas.drawingml.x2006.main.CTPatternFillProperties;
  31. import org.openxmlformats.schemas.drawingml.x2006.main.CTPresetGeometry2D;
  32. import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
  33. import org.openxmlformats.schemas.drawingml.x2006.main.CTSolidColorFillProperties;
  34. import org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrixReference;
  35. import org.openxmlformats.schemas.drawingml.x2006.main.CTTableCellProperties;
  36. import org.openxmlformats.schemas.drawingml.x2006.main.CTTextCharacterProperties;
  37. import org.openxmlformats.schemas.presentationml.x2006.main.CTBackgroundProperties;
  38. /**
  39. * Internal helper class to unify property access.
  40. *
  41. * This class is experimental and not (yet) supposed for public usage.
  42. * Maybe the xml schemas might be enhanced with interfaces to make this class superfluous
  43. *
  44. * @since POI 3.15-beta2
  45. */
  46. @Internal
  47. /* package */ class XSLFPropertiesDelegate {
  48. private static final POILogger LOG = POILogFactory.getLogger(XSLFPropertiesDelegate.class);
  49. public static XSLFFillProperties getFillDelegate(XmlObject props) {
  50. return getDelegate(XSLFFillProperties.class, props);
  51. }
  52. public static XSLFGeometryProperties getGeometryDelegate(XmlObject props) {
  53. return getDelegate(XSLFGeometryProperties.class, props);
  54. }
  55. public static XSLFEffectProperties getEffectDelegate(XmlObject props) {
  56. return getDelegate(XSLFEffectProperties.class, props);
  57. }
  58. public interface XSLFFillProperties {
  59. /**
  60. * Gets the "noFill" element
  61. */
  62. CTNoFillProperties getNoFill();
  63. /**
  64. * True if has "noFill" element
  65. */
  66. boolean isSetNoFill();
  67. /**
  68. * Sets the "noFill" element
  69. */
  70. void setNoFill(CTNoFillProperties noFill);
  71. /**
  72. * Appends and returns a new empty "noFill" element
  73. */
  74. CTNoFillProperties addNewNoFill();
  75. /**
  76. * Unsets the "noFill" element
  77. */
  78. void unsetNoFill();
  79. /**
  80. * Gets the "solidFill" element
  81. */
  82. CTSolidColorFillProperties getSolidFill();
  83. /**
  84. * True if has "solidFill" element
  85. */
  86. boolean isSetSolidFill();
  87. /**
  88. * Sets the "solidFill" element
  89. */
  90. void setSolidFill(CTSolidColorFillProperties solidFill);
  91. /**
  92. * Appends and returns a new empty "solidFill" element
  93. */
  94. CTSolidColorFillProperties addNewSolidFill();
  95. /**
  96. * Unsets the "solidFill" element
  97. */
  98. void unsetSolidFill();
  99. /**
  100. * Gets the "gradFill" element
  101. */
  102. CTGradientFillProperties getGradFill();
  103. /**
  104. * True if has "gradFill" element
  105. */
  106. boolean isSetGradFill();
  107. /**
  108. * Sets the "gradFill" element
  109. */
  110. void setGradFill(CTGradientFillProperties gradFill);
  111. /**
  112. * Appends and returns a new empty "gradFill" element
  113. */
  114. CTGradientFillProperties addNewGradFill();
  115. /**
  116. * Unsets the "gradFill" element
  117. */
  118. void unsetGradFill();
  119. /**
  120. * Gets the "blipFill" element
  121. */
  122. CTBlipFillProperties getBlipFill();
  123. /**
  124. * True if has "blipFill" element
  125. */
  126. boolean isSetBlipFill();
  127. /**
  128. * Sets the "blipFill" element
  129. */
  130. void setBlipFill(CTBlipFillProperties blipFill);
  131. /**
  132. * Appends and returns a new empty "blipFill" element
  133. */
  134. CTBlipFillProperties addNewBlipFill();
  135. /**
  136. * Unsets the "blipFill" element
  137. */
  138. void unsetBlipFill();
  139. /**
  140. * Gets the "pattFill" element
  141. */
  142. CTPatternFillProperties getPattFill();
  143. /**
  144. * True if has "pattFill" element
  145. */
  146. boolean isSetPattFill();
  147. /**
  148. * Sets the "pattFill" element
  149. */
  150. void setPattFill(CTPatternFillProperties pattFill);
  151. /**
  152. * Appends and returns a new empty "pattFill" element
  153. */
  154. CTPatternFillProperties addNewPattFill();
  155. /**
  156. * Unsets the "pattFill" element
  157. */
  158. void unsetPattFill();
  159. /**
  160. * Gets the "grpFill" element
  161. */
  162. CTGroupFillProperties getGrpFill();
  163. /**
  164. * True if has "grpFill" element
  165. */
  166. boolean isSetGrpFill();
  167. /**
  168. * Sets the "grpFill" element
  169. */
  170. void setGrpFill(CTGroupFillProperties grpFill);
  171. /**
  172. * Appends and returns a new empty "grpFill" element
  173. */
  174. CTGroupFillProperties addNewGrpFill();
  175. /**
  176. * Unsets the "grpFill" element
  177. */
  178. void unsetGrpFill();
  179. /**
  180. * Helper method to unify other properties with style matrix references
  181. * @return true, if this is a matrix style delegate
  182. */
  183. boolean isSetMatrixStyle();
  184. /**
  185. * Helper method to unify other properties with style matrix references
  186. */
  187. CTStyleMatrixReference getMatrixStyle();
  188. /**
  189. * Helper method to choose between fill and line style
  190. *
  191. * @return true, if this applies to a line
  192. */
  193. boolean isLineStyle();
  194. }
  195. public interface XSLFGeometryProperties {
  196. /**
  197. * Gets the "custGeom" element
  198. */
  199. CTCustomGeometry2D getCustGeom();
  200. /**
  201. * True if has "custGeom" element
  202. */
  203. boolean isSetCustGeom();
  204. /**
  205. * Sets the "custGeom" element
  206. */
  207. void setCustGeom(CTCustomGeometry2D custGeom);
  208. /**
  209. * Appends and returns a new empty "custGeom" element
  210. */
  211. CTCustomGeometry2D addNewCustGeom();
  212. /**
  213. * Unsets the "custGeom" element
  214. */
  215. void unsetCustGeom();
  216. /**
  217. * Gets the "prstGeom" element
  218. */
  219. CTPresetGeometry2D getPrstGeom();
  220. /**
  221. * True if has "prstGeom" element
  222. */
  223. boolean isSetPrstGeom();
  224. /**
  225. * Sets the "prstGeom" element
  226. */
  227. void setPrstGeom(CTPresetGeometry2D prstGeom);
  228. /**
  229. * Appends and returns a new empty "prstGeom" element
  230. */
  231. CTPresetGeometry2D addNewPrstGeom();
  232. /**
  233. * Unsets the "prstGeom" element
  234. */
  235. void unsetPrstGeom();
  236. }
  237. public interface XSLFEffectProperties {
  238. /**
  239. * Gets the "effectLst" element
  240. */
  241. CTEffectList getEffectLst();
  242. /**
  243. * True if has "effectLst" element
  244. */
  245. boolean isSetEffectLst();
  246. /**
  247. * Sets the "effectLst" element
  248. */
  249. void setEffectLst(CTEffectList effectLst);
  250. /**
  251. * Appends and returns a new empty "effectLst" element
  252. */
  253. CTEffectList addNewEffectLst();
  254. /**
  255. * Unsets the "effectLst" element
  256. */
  257. void unsetEffectLst();
  258. /**
  259. * Gets the "effectDag" element
  260. */
  261. CTEffectContainer getEffectDag();
  262. /**
  263. * True if has "effectDag" element
  264. */
  265. boolean isSetEffectDag();
  266. /**
  267. * Sets the "effectDag" element
  268. */
  269. void setEffectDag(CTEffectContainer effectDag);
  270. /**
  271. * Appends and returns a new empty "effectDag" element
  272. */
  273. CTEffectContainer addNewEffectDag();
  274. /**
  275. * Unsets the "effectDag" element
  276. */
  277. void unsetEffectDag();
  278. }
  279. private static class ShapeDelegate implements XSLFFillProperties, XSLFGeometryProperties, XSLFEffectProperties {
  280. final CTShapeProperties props;
  281. ShapeDelegate(CTShapeProperties props) {
  282. this.props = props;
  283. }
  284. @Override
  285. public CTNoFillProperties getNoFill() {
  286. return props.getNoFill();
  287. }
  288. @Override
  289. public boolean isSetNoFill() {
  290. return props.isSetNoFill();
  291. }
  292. @Override
  293. public void setNoFill(CTNoFillProperties noFill) {
  294. props.setNoFill(noFill);
  295. }
  296. @Override
  297. public CTNoFillProperties addNewNoFill() {
  298. return props.addNewNoFill();
  299. }
  300. @Override
  301. public void unsetNoFill() {
  302. props.unsetNoFill();
  303. }
  304. @Override
  305. public CTSolidColorFillProperties getSolidFill() {
  306. return props.getSolidFill();
  307. }
  308. @Override
  309. public boolean isSetSolidFill() {
  310. return props.isSetSolidFill();
  311. }
  312. @Override
  313. public void setSolidFill(CTSolidColorFillProperties solidFill) {
  314. props.setSolidFill(solidFill);
  315. }
  316. @Override
  317. public CTSolidColorFillProperties addNewSolidFill() {
  318. return props.addNewSolidFill();
  319. }
  320. @Override
  321. public void unsetSolidFill() {
  322. props.unsetSolidFill();
  323. }
  324. @Override
  325. public CTGradientFillProperties getGradFill() {
  326. return props.getGradFill();
  327. }
  328. @Override
  329. public boolean isSetGradFill() {
  330. return props.isSetGradFill();
  331. }
  332. @Override
  333. public void setGradFill(CTGradientFillProperties gradFill) {
  334. props.setGradFill(gradFill);
  335. }
  336. @Override
  337. public CTGradientFillProperties addNewGradFill() {
  338. return props.addNewGradFill();
  339. }
  340. @Override
  341. public void unsetGradFill() {
  342. props.unsetGradFill();
  343. }
  344. @Override
  345. public CTBlipFillProperties getBlipFill() {
  346. return props.getBlipFill();
  347. }
  348. @Override
  349. public boolean isSetBlipFill() {
  350. return props.isSetBlipFill();
  351. }
  352. @Override
  353. public void setBlipFill(CTBlipFillProperties blipFill) {
  354. props.setBlipFill(blipFill);
  355. }
  356. @Override
  357. public CTBlipFillProperties addNewBlipFill() {
  358. return props.addNewBlipFill();
  359. }
  360. @Override
  361. public void unsetBlipFill() {
  362. props.unsetBlipFill();
  363. }
  364. @Override
  365. public CTPatternFillProperties getPattFill() {
  366. return props.getPattFill();
  367. }
  368. @Override
  369. public boolean isSetPattFill() {
  370. return props.isSetPattFill();
  371. }
  372. @Override
  373. public void setPattFill(CTPatternFillProperties pattFill) {
  374. props.setPattFill(pattFill);
  375. }
  376. @Override
  377. public CTPatternFillProperties addNewPattFill() {
  378. return props.addNewPattFill();
  379. }
  380. @Override
  381. public void unsetPattFill() {
  382. props.unsetPattFill();
  383. }
  384. @Override
  385. public CTGroupFillProperties getGrpFill() {
  386. return props.getGrpFill();
  387. }
  388. @Override
  389. public boolean isSetGrpFill() {
  390. return props.isSetGrpFill();
  391. }
  392. @Override
  393. public void setGrpFill(CTGroupFillProperties grpFill) {
  394. props.setGrpFill(grpFill);
  395. }
  396. @Override
  397. public CTGroupFillProperties addNewGrpFill() {
  398. return props.addNewGrpFill();
  399. }
  400. @Override
  401. public void unsetGrpFill() {
  402. props.unsetGrpFill();
  403. }
  404. @Override
  405. public CTCustomGeometry2D getCustGeom() {
  406. return props.getCustGeom();
  407. }
  408. @Override
  409. public boolean isSetCustGeom() {
  410. return props.isSetCustGeom();
  411. }
  412. @Override
  413. public void setCustGeom(CTCustomGeometry2D custGeom) {
  414. props.setCustGeom(custGeom);
  415. }
  416. @Override
  417. public CTCustomGeometry2D addNewCustGeom() {
  418. return props.addNewCustGeom();
  419. }
  420. @Override
  421. public void unsetCustGeom() {
  422. props.unsetCustGeom();
  423. }
  424. @Override
  425. public CTPresetGeometry2D getPrstGeom() {
  426. return props.getPrstGeom();
  427. }
  428. @Override
  429. public boolean isSetPrstGeom() {
  430. return props.isSetPrstGeom();
  431. }
  432. @Override
  433. public void setPrstGeom(CTPresetGeometry2D prstGeom) {
  434. props.setPrstGeom(prstGeom);
  435. }
  436. @Override
  437. public CTPresetGeometry2D addNewPrstGeom() {
  438. return props.addNewPrstGeom();
  439. }
  440. @Override
  441. public void unsetPrstGeom() {
  442. props.unsetPrstGeom();
  443. }
  444. @Override
  445. public CTEffectList getEffectLst() {
  446. return props.getEffectLst();
  447. }
  448. @Override
  449. public boolean isSetEffectLst() {
  450. return props.isSetEffectLst();
  451. }
  452. @Override
  453. public void setEffectLst(CTEffectList effectLst) {
  454. props.setEffectLst(effectLst);
  455. }
  456. @Override
  457. public CTEffectList addNewEffectLst() {
  458. return props.addNewEffectLst();
  459. }
  460. @Override
  461. public void unsetEffectLst() {
  462. props.unsetEffectLst();
  463. }
  464. @Override
  465. public CTEffectContainer getEffectDag() {
  466. return props.getEffectDag();
  467. }
  468. @Override
  469. public boolean isSetEffectDag() {
  470. return props.isSetEffectDag();
  471. }
  472. @Override
  473. public void setEffectDag(CTEffectContainer effectDag) {
  474. props.setEffectDag(effectDag);
  475. }
  476. @Override
  477. public CTEffectContainer addNewEffectDag() {
  478. return props.addNewEffectDag();
  479. }
  480. @Override
  481. public void unsetEffectDag() {
  482. props.unsetEffectDag();
  483. }
  484. @Override
  485. public boolean isSetMatrixStyle() {
  486. return false;
  487. }
  488. @Override
  489. public CTStyleMatrixReference getMatrixStyle() {
  490. return null;
  491. }
  492. @Override
  493. public boolean isLineStyle() {
  494. return false;
  495. }
  496. }
  497. private static class BackgroundDelegate implements XSLFFillProperties, XSLFEffectProperties {
  498. final CTBackgroundProperties props;
  499. BackgroundDelegate(CTBackgroundProperties props) {
  500. this.props = props;
  501. }
  502. @Override
  503. public CTNoFillProperties getNoFill() {
  504. return props.getNoFill();
  505. }
  506. @Override
  507. public boolean isSetNoFill() {
  508. return props.isSetNoFill();
  509. }
  510. @Override
  511. public void setNoFill(CTNoFillProperties noFill) {
  512. props.setNoFill(noFill);
  513. }
  514. @Override
  515. public CTNoFillProperties addNewNoFill() {
  516. return props.addNewNoFill();
  517. }
  518. @Override
  519. public void unsetNoFill() {
  520. props.unsetNoFill();
  521. }
  522. @Override
  523. public CTSolidColorFillProperties getSolidFill() {
  524. return props.getSolidFill();
  525. }
  526. @Override
  527. public boolean isSetSolidFill() {
  528. return props.isSetSolidFill();
  529. }
  530. @Override
  531. public void setSolidFill(CTSolidColorFillProperties solidFill) {
  532. props.setSolidFill(solidFill);
  533. }
  534. @Override
  535. public CTSolidColorFillProperties addNewSolidFill() {
  536. return props.addNewSolidFill();
  537. }
  538. @Override
  539. public void unsetSolidFill() {
  540. props.unsetSolidFill();
  541. }
  542. @Override
  543. public CTGradientFillProperties getGradFill() {
  544. return props.getGradFill();
  545. }
  546. @Override
  547. public boolean isSetGradFill() {
  548. return props.isSetGradFill();
  549. }
  550. @Override
  551. public void setGradFill(CTGradientFillProperties gradFill) {
  552. props.setGradFill(gradFill);
  553. }
  554. @Override
  555. public CTGradientFillProperties addNewGradFill() {
  556. return props.addNewGradFill();
  557. }
  558. @Override
  559. public void unsetGradFill() {
  560. props.unsetGradFill();
  561. }
  562. @Override
  563. public CTBlipFillProperties getBlipFill() {
  564. return props.getBlipFill();
  565. }
  566. @Override
  567. public boolean isSetBlipFill() {
  568. return props.isSetBlipFill();
  569. }
  570. @Override
  571. public void setBlipFill(CTBlipFillProperties blipFill) {
  572. props.setBlipFill(blipFill);
  573. }
  574. @Override
  575. public CTBlipFillProperties addNewBlipFill() {
  576. return props.addNewBlipFill();
  577. }
  578. @Override
  579. public void unsetBlipFill() {
  580. props.unsetBlipFill();
  581. }
  582. @Override
  583. public CTPatternFillProperties getPattFill() {
  584. return props.getPattFill();
  585. }
  586. @Override
  587. public boolean isSetPattFill() {
  588. return props.isSetPattFill();
  589. }
  590. @Override
  591. public void setPattFill(CTPatternFillProperties pattFill) {
  592. props.setPattFill(pattFill);
  593. }
  594. @Override
  595. public CTPatternFillProperties addNewPattFill() {
  596. return props.addNewPattFill();
  597. }
  598. @Override
  599. public void unsetPattFill() {
  600. props.unsetPattFill();
  601. }
  602. @Override
  603. public CTGroupFillProperties getGrpFill() {
  604. return props.getGrpFill();
  605. }
  606. @Override
  607. public boolean isSetGrpFill() {
  608. return props.isSetGrpFill();
  609. }
  610. @Override
  611. public void setGrpFill(CTGroupFillProperties grpFill) {
  612. props.setGrpFill(grpFill);
  613. }
  614. @Override
  615. public CTGroupFillProperties addNewGrpFill() {
  616. return props.addNewGrpFill();
  617. }
  618. @Override
  619. public void unsetGrpFill() {
  620. props.unsetGrpFill();
  621. }
  622. @Override
  623. public CTEffectList getEffectLst() {
  624. return props.getEffectLst();
  625. }
  626. @Override
  627. public boolean isSetEffectLst() {
  628. return props.isSetEffectLst();
  629. }
  630. @Override
  631. public void setEffectLst(CTEffectList effectLst) {
  632. props.setEffectLst(effectLst);
  633. }
  634. @Override
  635. public CTEffectList addNewEffectLst() {
  636. return props.addNewEffectLst();
  637. }
  638. @Override
  639. public void unsetEffectLst() {
  640. props.unsetEffectLst();
  641. }
  642. @Override
  643. public CTEffectContainer getEffectDag() {
  644. return props.getEffectDag();
  645. }
  646. @Override
  647. public boolean isSetEffectDag() {
  648. return props.isSetEffectDag();
  649. }
  650. @Override
  651. public void setEffectDag(CTEffectContainer effectDag) {
  652. props.setEffectDag(effectDag);
  653. }
  654. @Override
  655. public CTEffectContainer addNewEffectDag() {
  656. return props.addNewEffectDag();
  657. }
  658. @Override
  659. public void unsetEffectDag() {
  660. props.unsetEffectDag();
  661. }
  662. @Override
  663. public boolean isSetMatrixStyle() {
  664. return false;
  665. }
  666. @Override
  667. public CTStyleMatrixReference getMatrixStyle() {
  668. return null;
  669. }
  670. @Override
  671. public boolean isLineStyle() {
  672. return false;
  673. }
  674. }
  675. private static class TableCellDelegate implements XSLFFillProperties {
  676. final CTTableCellProperties props;
  677. TableCellDelegate(CTTableCellProperties props) {
  678. this.props = props;
  679. }
  680. @Override
  681. public CTNoFillProperties getNoFill() {
  682. return props.getNoFill();
  683. }
  684. @Override
  685. public boolean isSetNoFill() {
  686. return props.isSetNoFill();
  687. }
  688. @Override
  689. public void setNoFill(CTNoFillProperties noFill) {
  690. props.setNoFill(noFill);
  691. }
  692. @Override
  693. public CTNoFillProperties addNewNoFill() {
  694. return props.addNewNoFill();
  695. }
  696. @Override
  697. public void unsetNoFill() {
  698. props.unsetNoFill();
  699. }
  700. @Override
  701. public CTSolidColorFillProperties getSolidFill() {
  702. return props.getSolidFill();
  703. }
  704. @Override
  705. public boolean isSetSolidFill() {
  706. return props.isSetSolidFill();
  707. }
  708. @Override
  709. public void setSolidFill(CTSolidColorFillProperties solidFill) {
  710. props.setSolidFill(solidFill);
  711. }
  712. @Override
  713. public CTSolidColorFillProperties addNewSolidFill() {
  714. return props.addNewSolidFill();
  715. }
  716. @Override
  717. public void unsetSolidFill() {
  718. props.unsetSolidFill();
  719. }
  720. @Override
  721. public CTGradientFillProperties getGradFill() {
  722. return props.getGradFill();
  723. }
  724. @Override
  725. public boolean isSetGradFill() {
  726. return props.isSetGradFill();
  727. }
  728. @Override
  729. public void setGradFill(CTGradientFillProperties gradFill) {
  730. props.setGradFill(gradFill);
  731. }
  732. @Override
  733. public CTGradientFillProperties addNewGradFill() {
  734. return props.addNewGradFill();
  735. }
  736. @Override
  737. public void unsetGradFill() {
  738. props.unsetGradFill();
  739. }
  740. @Override
  741. public CTBlipFillProperties getBlipFill() {
  742. return props.getBlipFill();
  743. }
  744. @Override
  745. public boolean isSetBlipFill() {
  746. return props.isSetBlipFill();
  747. }
  748. @Override
  749. public void setBlipFill(CTBlipFillProperties blipFill) {
  750. props.setBlipFill(blipFill);
  751. }
  752. @Override
  753. public CTBlipFillProperties addNewBlipFill() {
  754. return props.addNewBlipFill();
  755. }
  756. @Override
  757. public void unsetBlipFill() {
  758. props.unsetBlipFill();
  759. }
  760. @Override
  761. public CTPatternFillProperties getPattFill() {
  762. return props.getPattFill();
  763. }
  764. @Override
  765. public boolean isSetPattFill() {
  766. return props.isSetPattFill();
  767. }
  768. @Override
  769. public void setPattFill(CTPatternFillProperties pattFill) {
  770. props.setPattFill(pattFill);
  771. }
  772. @Override
  773. public CTPatternFillProperties addNewPattFill() {
  774. return props.addNewPattFill();
  775. }
  776. @Override
  777. public void unsetPattFill() {
  778. props.unsetPattFill();
  779. }
  780. @Override
  781. public CTGroupFillProperties getGrpFill() {
  782. return props.getGrpFill();
  783. }
  784. @Override
  785. public boolean isSetGrpFill() {
  786. return props.isSetGrpFill();
  787. }
  788. @Override
  789. public void setGrpFill(CTGroupFillProperties grpFill) {
  790. props.setGrpFill(grpFill);
  791. }
  792. @Override
  793. public CTGroupFillProperties addNewGrpFill() {
  794. return props.addNewGrpFill();
  795. }
  796. @Override
  797. public void unsetGrpFill() {
  798. props.unsetGrpFill();
  799. }
  800. @Override
  801. public boolean isSetMatrixStyle() {
  802. return false;
  803. }
  804. @Override
  805. public CTStyleMatrixReference getMatrixStyle() {
  806. return null;
  807. }
  808. @Override
  809. public boolean isLineStyle() {
  810. return false;
  811. }
  812. }
  813. private static class StyleMatrixDelegate implements XSLFFillProperties {
  814. final CTStyleMatrixReference props;
  815. StyleMatrixDelegate(CTStyleMatrixReference props) {
  816. this.props = props;
  817. }
  818. @Override
  819. public CTNoFillProperties getNoFill() {
  820. return null;
  821. }
  822. @Override
  823. public boolean isSetNoFill() {
  824. return false;
  825. }
  826. @Override
  827. public void setNoFill(CTNoFillProperties noFill) {}
  828. @Override
  829. public CTNoFillProperties addNewNoFill() {
  830. return null;
  831. }
  832. @Override
  833. public void unsetNoFill() {}
  834. @Override
  835. public CTSolidColorFillProperties getSolidFill() {
  836. return null;
  837. }
  838. @Override
  839. public boolean isSetSolidFill() {
  840. return false;
  841. }
  842. @Override
  843. public void setSolidFill(CTSolidColorFillProperties solidFill) {}
  844. @Override
  845. public CTSolidColorFillProperties addNewSolidFill() {
  846. return null;
  847. }
  848. @Override
  849. public void unsetSolidFill() {}
  850. @Override
  851. public CTGradientFillProperties getGradFill() {
  852. return null;
  853. }
  854. @Override
  855. public boolean isSetGradFill() {
  856. return false;
  857. }
  858. @Override
  859. public void setGradFill(CTGradientFillProperties gradFill) {}
  860. @Override
  861. public CTGradientFillProperties addNewGradFill() {
  862. return null;
  863. }
  864. @Override
  865. public void unsetGradFill() {}
  866. @Override
  867. public CTBlipFillProperties getBlipFill() {
  868. return null;
  869. }
  870. @Override
  871. public boolean isSetBlipFill() {
  872. return false;
  873. }
  874. @Override
  875. public void setBlipFill(CTBlipFillProperties blipFill) {}
  876. @Override
  877. public CTBlipFillProperties addNewBlipFill() {
  878. return null;
  879. }
  880. @Override
  881. public void unsetBlipFill() {}
  882. @Override
  883. public CTPatternFillProperties getPattFill() {
  884. return null;
  885. }
  886. @Override
  887. public boolean isSetPattFill() {
  888. return false;
  889. }
  890. @Override
  891. public void setPattFill(CTPatternFillProperties pattFill) {}
  892. @Override
  893. public CTPatternFillProperties addNewPattFill() {
  894. return null;
  895. }
  896. @Override
  897. public void unsetPattFill() {}
  898. @Override
  899. public CTGroupFillProperties getGrpFill() {
  900. return null;
  901. }
  902. @Override
  903. public boolean isSetGrpFill() {
  904. return false;
  905. }
  906. @Override
  907. public void setGrpFill(CTGroupFillProperties grpFill) {}
  908. @Override
  909. public CTGroupFillProperties addNewGrpFill() {
  910. return null;
  911. }
  912. @Override
  913. public void unsetGrpFill() {}
  914. @Override
  915. public boolean isSetMatrixStyle() {
  916. return true;
  917. }
  918. @Override
  919. public CTStyleMatrixReference getMatrixStyle() {
  920. return props;
  921. }
  922. @Override
  923. public boolean isLineStyle() {
  924. XmlCursor cur = props.newCursor();
  925. String name = cur.getName().getLocalPart();
  926. cur.dispose();
  927. return "lnRef".equals(name);
  928. }
  929. }
  930. private static class FillDelegate implements XSLFFillProperties {
  931. final CTFillProperties props;
  932. FillDelegate(CTFillProperties props) {
  933. this.props = props;
  934. }
  935. @Override
  936. public CTNoFillProperties getNoFill() {
  937. return props.getNoFill();
  938. }
  939. @Override
  940. public boolean isSetNoFill() {
  941. return props.isSetNoFill();
  942. }
  943. @Override
  944. public void setNoFill(CTNoFillProperties noFill) {
  945. props.setNoFill(noFill);
  946. }
  947. @Override
  948. public CTNoFillProperties addNewNoFill() {
  949. return props.addNewNoFill();
  950. }
  951. @Override
  952. public void unsetNoFill() {
  953. props.unsetNoFill();
  954. }
  955. @Override
  956. public CTSolidColorFillProperties getSolidFill() {
  957. return props.getSolidFill();
  958. }
  959. @Override
  960. public boolean isSetSolidFill() {
  961. return props.isSetSolidFill();
  962. }
  963. @Override
  964. public void setSolidFill(CTSolidColorFillProperties solidFill) {
  965. props.setSolidFill(solidFill);
  966. }
  967. @Override
  968. public CTSolidColorFillProperties addNewSolidFill() {
  969. return props.addNewSolidFill();
  970. }
  971. @Override
  972. public void unsetSolidFill() {
  973. props.unsetSolidFill();
  974. }
  975. @Override
  976. public CTGradientFillProperties getGradFill() {
  977. return props.getGradFill();
  978. }
  979. @Override
  980. public boolean isSetGradFill() {
  981. return props.isSetGradFill();
  982. }
  983. @Override
  984. public void setGradFill(CTGradientFillProperties gradFill) {
  985. props.setGradFill(gradFill);
  986. }
  987. @Override
  988. public CTGradientFillProperties addNewGradFill() {
  989. return props.addNewGradFill();
  990. }
  991. @Override
  992. public void unsetGradFill() {
  993. props.unsetGradFill();
  994. }
  995. @Override
  996. public CTBlipFillProperties getBlipFill() {
  997. return props.getBlipFill();
  998. }
  999. @Override
  1000. public boolean isSetBlipFill() {
  1001. return props.isSetBlipFill();
  1002. }
  1003. @Override
  1004. public void setBlipFill(CTBlipFillProperties blipFill) {
  1005. props.setBlipFill(blipFill);
  1006. }
  1007. @Override
  1008. public CTBlipFillProperties addNewBlipFill() {
  1009. return props.addNewBlipFill();
  1010. }
  1011. @Override
  1012. public void unsetBlipFill() {
  1013. props.unsetBlipFill();
  1014. }
  1015. @Override
  1016. public CTPatternFillProperties getPattFill() {
  1017. return props.getPattFill();
  1018. }
  1019. @Override
  1020. public boolean isSetPattFill() {
  1021. return props.isSetPattFill();
  1022. }
  1023. @Override
  1024. public void setPattFill(CTPatternFillProperties pattFill) {
  1025. props.setPattFill(pattFill);
  1026. }
  1027. @Override
  1028. public CTPatternFillProperties addNewPattFill() {
  1029. return props.addNewPattFill();
  1030. }
  1031. @Override
  1032. public void unsetPattFill() {
  1033. props.unsetPattFill();
  1034. }
  1035. @Override
  1036. public CTGroupFillProperties getGrpFill() {
  1037. return props.getGrpFill();
  1038. }
  1039. @Override
  1040. public boolean isSetGrpFill() {
  1041. return props.isSetGrpFill();
  1042. }
  1043. @Override
  1044. public void setGrpFill(CTGroupFillProperties grpFill) {
  1045. props.setGrpFill(grpFill);
  1046. }
  1047. @Override
  1048. public CTGroupFillProperties addNewGrpFill() {
  1049. return props.addNewGrpFill();
  1050. }
  1051. @Override
  1052. public void unsetGrpFill() {
  1053. props.unsetGrpFill();
  1054. }
  1055. @Override
  1056. public boolean isSetMatrixStyle() {
  1057. return false;
  1058. }
  1059. @Override
  1060. public CTStyleMatrixReference getMatrixStyle() {
  1061. return null;
  1062. }
  1063. @Override
  1064. public boolean isLineStyle() {
  1065. return false;
  1066. }
  1067. }
  1068. private static class FillPartDelegate implements XSLFFillProperties {
  1069. final XmlObject props;
  1070. FillPartDelegate(XmlObject props) {
  1071. this.props = props;
  1072. }
  1073. @Override
  1074. public CTNoFillProperties getNoFill() {
  1075. return isSetNoFill() ? (CTNoFillProperties)props : null;
  1076. }
  1077. @Override
  1078. public boolean isSetNoFill() {
  1079. return (props instanceof CTNoFillProperties);
  1080. }
  1081. @Override
  1082. public void setNoFill(CTNoFillProperties noFill) {}
  1083. @Override
  1084. public CTNoFillProperties addNewNoFill() {
  1085. return null;
  1086. }
  1087. @Override
  1088. public void unsetNoFill() {}
  1089. @Override
  1090. public CTSolidColorFillProperties getSolidFill() {
  1091. return isSetSolidFill() ? (CTSolidColorFillProperties)props : null;
  1092. }
  1093. @Override
  1094. public boolean isSetSolidFill() {
  1095. return (props instanceof CTSolidColorFillProperties);
  1096. }
  1097. @Override
  1098. public void setSolidFill(CTSolidColorFillProperties solidFill) {}
  1099. @Override
  1100. public CTSolidColorFillProperties addNewSolidFill() {
  1101. return null;
  1102. }
  1103. @Override
  1104. public void unsetSolidFill() {}
  1105. @Override
  1106. public CTGradientFillProperties getGradFill() {
  1107. return isSetGradFill() ? (CTGradientFillProperties)props : null;
  1108. }
  1109. @Override
  1110. public boolean isSetGradFill() {
  1111. return (props instanceof CTGradientFillProperties);
  1112. }
  1113. @Override
  1114. public void setGradFill(CTGradientFillProperties gradFill) {}
  1115. @Override
  1116. public CTGradientFillProperties addNewGradFill() {
  1117. return null;
  1118. }
  1119. @Override
  1120. public void unsetGradFill() {}
  1121. @Override
  1122. public CTBlipFillProperties getBlipFill() {
  1123. return isSetBlipFill() ? (CTBlipFillProperties)props : null;
  1124. }
  1125. @Override
  1126. public boolean isSetBlipFill() {
  1127. return (props instanceof CTBlipFillProperties);
  1128. }
  1129. @Override
  1130. public void setBlipFill(CTBlipFillProperties blipFill) {}
  1131. @Override
  1132. public CTBlipFillProperties addNewBlipFill() {
  1133. return null;
  1134. }
  1135. @Override
  1136. public void unsetBlipFill() {}
  1137. @Override
  1138. public CTPatternFillProperties getPattFill() {
  1139. return isSetPattFill() ? (CTPatternFillProperties)props : null;
  1140. }
  1141. @Override
  1142. public boolean isSetPattFill() {
  1143. return (props instanceof CTPatternFillProperties);
  1144. }
  1145. @Override
  1146. public void setPattFill(CTPatternFillProperties pattFill) {}
  1147. @Override
  1148. public CTPatternFillProperties addNewPattFill() {
  1149. return null;
  1150. }
  1151. @Override
  1152. public void unsetPattFill() {}
  1153. @Override
  1154. public CTGroupFillProperties getGrpFill() {
  1155. return isSetGrpFill() ? (CTGroupFillProperties)props : null;
  1156. }
  1157. @Override
  1158. public boolean isSetGrpFill() {
  1159. return (props instanceof CTGroupFillProperties);
  1160. }
  1161. @Override
  1162. public void setGrpFill(CTGroupFillProperties grpFill) {}
  1163. @Override
  1164. public CTGroupFillProperties addNewGrpFill() {
  1165. return null;
  1166. }
  1167. @Override
  1168. public void unsetGrpFill() {}
  1169. @Override
  1170. public boolean isSetMatrixStyle() {
  1171. return false;
  1172. }
  1173. @Override
  1174. public CTStyleMatrixReference getMatrixStyle() {
  1175. return null;
  1176. }
  1177. @Override
  1178. public boolean isLineStyle() {
  1179. return false;
  1180. }
  1181. }
  1182. private static class LineStyleDelegate implements XSLFFillProperties {
  1183. final CTLineProperties props;
  1184. LineStyleDelegate(CTLineProperties props) {
  1185. this.props = props;
  1186. }
  1187. @Override
  1188. public CTNoFillProperties getNoFill() {
  1189. return props.getNoFill();
  1190. }
  1191. @Override
  1192. public boolean isSetNoFill() {
  1193. return props.isSetNoFill();
  1194. }
  1195. @Override
  1196. public void setNoFill(CTNoFillProperties noFill) {
  1197. props.setNoFill(noFill);
  1198. }
  1199. @Override
  1200. public CTNoFillProperties addNewNoFill() {
  1201. return props.addNewNoFill();
  1202. }
  1203. @Override
  1204. public void unsetNoFill() {
  1205. props.unsetNoFill();
  1206. }
  1207. @Override
  1208. public CTSolidColorFillProperties getSolidFill() {
  1209. return props.getSolidFill();
  1210. }
  1211. @Override
  1212. public boolean isSetSolidFill() {
  1213. return props.isSetSolidFill();
  1214. }
  1215. @Override
  1216. public void setSolidFill(CTSolidColorFillProperties solidFill) {
  1217. props.setSolidFill(solidFill);
  1218. }
  1219. @Override
  1220. public CTSolidColorFillProperties addNewSolidFill() {
  1221. return props.addNewSolidFill();
  1222. }
  1223. @Override
  1224. public void unsetSolidFill() {
  1225. props.unsetSolidFill();
  1226. }
  1227. @Override
  1228. public CTGradientFillProperties getGradFill() {
  1229. return props.getGradFill();
  1230. }
  1231. @Override
  1232. public boolean isSetGradFill() {
  1233. return props.isSetGradFill();
  1234. }
  1235. @Override
  1236. public void setGradFill(CTGradientFillProperties gradFill) {
  1237. props.setGradFill(gradFill);
  1238. }
  1239. @Override
  1240. public CTGradientFillProperties addNewGradFill() {
  1241. return props.addNewGradFill();
  1242. }
  1243. @Override
  1244. public void unsetGradFill() {
  1245. props.unsetGradFill();
  1246. }
  1247. @Override
  1248. public CTBlipFillProperties getBlipFill() {
  1249. return null;
  1250. }
  1251. @Override
  1252. public boolean isSetBlipFill() {
  1253. return false;
  1254. }
  1255. @Override
  1256. public void setBlipFill(CTBlipFillProperties blipFill) {}
  1257. @Override
  1258. public CTBlipFillProperties addNewBlipFill() {
  1259. return null;
  1260. }
  1261. @Override
  1262. public void unsetBlipFill() {}
  1263. @Override
  1264. public CTPatternFillProperties getPattFill() {
  1265. return props.getPattFill();
  1266. }
  1267. @Override
  1268. public boolean isSetPattFill() {
  1269. return props.isSetPattFill();
  1270. }
  1271. @Override
  1272. public void setPattFill(CTPatternFillProperties pattFill) {
  1273. props.setPattFill(pattFill);
  1274. }
  1275. @Override
  1276. public CTPatternFillProperties addNewPattFill() {
  1277. return props.addNewPattFill();
  1278. }
  1279. @Override
  1280. public void unsetPattFill() {
  1281. props.unsetPattFill();
  1282. }
  1283. @Override
  1284. public CTGroupFillProperties getGrpFill() {
  1285. return null;
  1286. }
  1287. @Override
  1288. public boolean isSetGrpFill() {
  1289. return false;
  1290. }
  1291. @Override
  1292. public void setGrpFill(CTGroupFillProperties grpFill) {}
  1293. @Override
  1294. public CTGroupFillProperties addNewGrpFill() {
  1295. return null;
  1296. }
  1297. @Override
  1298. public void unsetGrpFill() {}
  1299. @Override
  1300. public boolean isSetMatrixStyle() {
  1301. return false;
  1302. }
  1303. @Override
  1304. public CTStyleMatrixReference getMatrixStyle() {
  1305. return null;
  1306. }
  1307. @Override
  1308. public boolean isLineStyle() {
  1309. return true;
  1310. }
  1311. }
  1312. private static class TextCharDelegate implements XSLFFillProperties {
  1313. final CTTextCharacterProperties props;
  1314. TextCharDelegate(CTTextCharacterProperties props) {
  1315. this.props = props;
  1316. }
  1317. @Override
  1318. public CTNoFillProperties getNoFill() {
  1319. return props.getNoFill();
  1320. }
  1321. @Override
  1322. public boolean isSetNoFill() {
  1323. return props.isSetNoFill();
  1324. }
  1325. @Override
  1326. public void setNoFill(CTNoFillProperties noFill) {
  1327. props.setNoFill(noFill);
  1328. }
  1329. @Override
  1330. public CTNoFillProperties addNewNoFill() {
  1331. return props.addNewNoFill();
  1332. }
  1333. @Override
  1334. public void unsetNoFill() {
  1335. props.unsetNoFill();
  1336. }
  1337. @Override
  1338. public CTSolidColorFillProperties getSolidFill() {
  1339. return props.getSolidFill();
  1340. }
  1341. @Override
  1342. public boolean isSetSolidFill() {
  1343. return props.isSetSolidFill();
  1344. }
  1345. @Override
  1346. public void setSolidFill(CTSolidColorFillProperties solidFill) {
  1347. props.setSolidFill(solidFill);
  1348. }
  1349. @Override
  1350. public CTSolidColorFillProperties addNewSolidFill() {
  1351. return props.addNewSolidFill();
  1352. }
  1353. @Override
  1354. public void unsetSolidFill() {
  1355. props.unsetSolidFill();
  1356. }
  1357. @Override
  1358. public CTGradientFillProperties getGradFill() {
  1359. return props.getGradFill();
  1360. }
  1361. @Override
  1362. public boolean isSetGradFill() {
  1363. return props.isSetGradFill();
  1364. }
  1365. @Override
  1366. public void setGradFill(CTGradientFillProperties gradFill) {
  1367. props.setGradFill(gradFill);
  1368. }
  1369. @Override
  1370. public CTGradientFillProperties addNewGradFill() {
  1371. return props.addNewGradFill();
  1372. }
  1373. @Override
  1374. public void unsetGradFill() {
  1375. props.unsetGradFill();
  1376. }
  1377. @Override
  1378. public CTBlipFillProperties getBlipFill() {
  1379. return props.getBlipFill();
  1380. }
  1381. @Override
  1382. public boolean isSetBlipFill() {
  1383. return props.isSetBlipFill();
  1384. }
  1385. @Override
  1386. public void setBlipFill(CTBlipFillProperties blipFill) {
  1387. props.setBlipFill(blipFill);
  1388. }
  1389. @Override
  1390. public CTBlipFillProperties addNewBlipFill() {
  1391. return props.addNewBlipFill();
  1392. }
  1393. @Override
  1394. public void unsetBlipFill() {
  1395. props.unsetBlipFill();
  1396. }
  1397. @Override
  1398. public CTPatternFillProperties getPattFill() {
  1399. return props.getPattFill();
  1400. }
  1401. @Override
  1402. public boolean isSetPattFill() {
  1403. return props.isSetPattFill();
  1404. }
  1405. @Override
  1406. public void setPattFill(CTPatternFillProperties pattFill) {
  1407. props.setPattFill(pattFill);
  1408. }
  1409. @Override
  1410. public CTPatternFillProperties addNewPattFill() {
  1411. return props.addNewPattFill();
  1412. }
  1413. @Override
  1414. public void unsetPattFill() {
  1415. props.unsetPattFill();
  1416. }
  1417. @Override
  1418. public CTGroupFillProperties getGrpFill() {
  1419. return props.getGrpFill();
  1420. }
  1421. @Override
  1422. public boolean isSetGrpFill() {
  1423. return props.isSetGrpFill();
  1424. }
  1425. @Override
  1426. public void setGrpFill(CTGroupFillProperties grpFill) {
  1427. props.setGrpFill(grpFill);
  1428. }
  1429. @Override
  1430. public CTGroupFillProperties addNewGrpFill() {
  1431. return props.addNewGrpFill();
  1432. }
  1433. @Override
  1434. public void unsetGrpFill() {
  1435. props.unsetGrpFill();
  1436. }
  1437. @Override
  1438. public boolean isSetMatrixStyle() {
  1439. return false;
  1440. }
  1441. @Override
  1442. public CTStyleMatrixReference getMatrixStyle() {
  1443. return null;
  1444. }
  1445. @Override
  1446. public boolean isLineStyle() {
  1447. return false;
  1448. }
  1449. }
  1450. @SuppressWarnings("unchecked")
  1451. private static <T> T getDelegate(Class<T> clazz, XmlObject props) {
  1452. Object obj = null;
  1453. if (props == null) {
  1454. return null;
  1455. } else if (props instanceof CTShapeProperties) {
  1456. obj = new ShapeDelegate((CTShapeProperties)props);
  1457. } else if (props instanceof CTBackgroundProperties) {
  1458. obj = new BackgroundDelegate((CTBackgroundProperties)props);
  1459. } else if (props instanceof CTStyleMatrixReference) {
  1460. obj = new StyleMatrixDelegate((CTStyleMatrixReference)props);
  1461. } else if (props instanceof CTTableCellProperties) {
  1462. obj = new TableCellDelegate((CTTableCellProperties)props);
  1463. } else if (props instanceof CTNoFillProperties
  1464. || props instanceof CTSolidColorFillProperties
  1465. || props instanceof CTGradientFillProperties
  1466. || props instanceof CTBlipFillProperties
  1467. || props instanceof CTPatternFillProperties
  1468. || props instanceof CTGroupFillProperties) {
  1469. obj = new FillPartDelegate(props);
  1470. } else if (props instanceof CTFillProperties) {
  1471. obj = new FillDelegate((CTFillProperties)props);
  1472. } else if (props instanceof CTLineProperties) {
  1473. obj = new LineStyleDelegate((CTLineProperties)props);
  1474. } else if (props instanceof CTTextCharacterProperties) {
  1475. obj = new TextCharDelegate((CTTextCharacterProperties)props);
  1476. } else {
  1477. LOG.log(POILogger.ERROR, props.getClass() +" is an unknown properties type");
  1478. return null;
  1479. }
  1480. if (clazz.isInstance(obj)) {
  1481. return (T)obj;
  1482. }
  1483. LOG.log(POILogger.WARN, obj.getClass() +" doesn't implement "+ clazz);
  1484. return null;
  1485. }
  1486. }