001/* ----------------------------------------------------------------------------
002 * This file was automatically generated by SWIG (http://www.swig.org).
003 * Version 3.0.7
004 *
005 * Do not make changes to this file unless you know what you are doing--modify
006 * the SWIG interface file instead.
007 * ----------------------------------------------------------------------------- */
008
009package org.sbml.libsbml;
010
011/** 
012 * {@link Text} element from the SBML render extension. Is used to represent text render information.
013 <p>
014 * The {@link Text} class represents text to be rendered in the context of a style.
015 * The {@link Text} class inherits all attributes and methods from its base class {@link GraphicalPrimitive1D}.
016 <p>
017 * The text also holds a string for the actual text that is to be rendered for the {@link Text} object.
018 <p>
019 * Additional attributes specify how the text is to be rendered, e.g. which font family is to be used
020 * and how the text is to be aligned within the viewport.
021 */
022
023public class Text extends GraphicalPrimitive1D {
024   private long swigCPtr;
025
026   protected Text(long cPtr, boolean cMemoryOwn)
027   {
028     super(libsbmlJNI.Text_SWIGUpcast(cPtr), cMemoryOwn);
029     swigCPtr = cPtr;
030   }
031
032   protected static long getCPtr(Text obj)
033   {
034     return (obj == null) ? 0 : obj.swigCPtr;
035   }
036
037   protected static long getCPtrAndDisown (Text obj)
038   {
039     long ptr = 0;
040
041     if (obj != null)
042     {
043       ptr             = obj.swigCPtr;
044       obj.swigCMemOwn = false;
045     }
046
047     return ptr;
048   }
049
050  protected void finalize() {
051    delete();
052  }
053
054  public synchronized void delete() {
055    if (swigCPtr != 0) {
056      if (swigCMemOwn) {
057        swigCMemOwn = false;
058        libsbmlJNI.delete_Text(swigCPtr);
059      }
060      swigCPtr = 0;
061    }
062    super.delete();
063  }
064
065  
066/**
067   * Creates a new {@link Text} object with the given SBML level
068   * and SBML version.
069   <p>
070   * @param level SBML level of the new object
071   * @param level SBML version of the new object
072   */ public
073 Text(long level, long version, long pkgVersion) throws org.sbml.libsbml.SBMLConstructorException {
074    this(libsbmlJNI.new_Text__SWIG_0(level, version, pkgVersion), true);
075  }
076
077  
078/**
079   * Creates a new {@link Text} object with the given SBML level
080   * and SBML version.
081   <p>
082   * @param level SBML level of the new object
083   * @param level SBML version of the new object
084   */ public
085 Text(long level, long version) throws org.sbml.libsbml.SBMLConstructorException {
086    this(libsbmlJNI.new_Text__SWIG_1(level, version), true);
087  }
088
089  
090/**
091   * Creates a new {@link Text} object with the given SBML level
092   * and SBML version.
093   <p>
094   * @param level SBML level of the new object
095   * @param level SBML version of the new object
096   */ public
097 Text(long level) throws org.sbml.libsbml.SBMLConstructorException {
098    this(libsbmlJNI.new_Text__SWIG_2(level), true);
099  }
100
101  
102/**
103   * Creates a new {@link Text} object with the given SBML level
104   * and SBML version.
105   <p>
106   * @param level SBML level of the new object
107   * @param level SBML version of the new object
108   */ public
109 Text() throws org.sbml.libsbml.SBMLConstructorException {
110    this(libsbmlJNI.new_Text__SWIG_3(), true);
111  }
112
113  
114/**
115   * Creates a new {@link Text} object with the given {@link SBMLNamespaces}.
116   <p>
117   * @param sbmlns The SBML namespace for the object.
118   */ public
119 Text(RenderPkgNamespaces renderns) throws org.sbml.libsbml.SBMLConstructorException {
120    this(libsbmlJNI.new_Text__SWIG_4(RenderPkgNamespaces.getCPtr(renderns), renderns), true);
121  }
122
123  
124/**
125   * Creates a new {@link Text} object from the given {@link XMLNode} object.
126   * The {@link XMLNode} object has to contain a valid XML representation of a 
127   * {@link Text} object as defined in the render extension specification.
128   * This method is normally called when render information is read from a file and 
129   * should normally not have to be called explicitly.
130   <p>
131   * @param node the {@link XMLNode} object reference that describes the {@link Text}
132   * object to be instantiated.
133   */ public
134 Text(XMLNode node, long l2version) throws org.sbml.libsbml.SBMLConstructorException {
135    this(libsbmlJNI.new_Text__SWIG_5(XMLNode.getCPtr(node), node, l2version), true);
136  }
137
138  
139/**
140   * Creates a new {@link Text} object from the given {@link XMLNode} object.
141   * The {@link XMLNode} object has to contain a valid XML representation of a 
142   * {@link Text} object as defined in the render extension specification.
143   * This method is normally called when render information is read from a file and 
144   * should normally not have to be called explicitly.
145   <p>
146   * @param node the {@link XMLNode} object reference that describes the {@link Text}
147   * object to be instantiated.
148   */ public
149 Text(XMLNode node) throws org.sbml.libsbml.SBMLConstructorException {
150    this(libsbmlJNI.new_Text__SWIG_6(XMLNode.getCPtr(node), node), true);
151  }
152
153  
154/**
155   * Instantiates a new {@link Text} object with the given <code>id</code> and position offset.
156   * The position offset coordinates can be omitted and will be set to 0 in
157   * that case.
158   <p>
159   * All attributes are set as described for the default constructor
160   * of {@link GraphicalPrimitive1D}.
161   * All the font rendering attributes as well 
162   * as the text to be rendered are unset.
163   <p>
164   * @param id id string for the {@link Text} object
165   * @param x x coordinate of the position offset
166   * @param y y coordinate of the position offset
167   * @param z z coordinate of the position offset
168   <p>
169   * This constructor is deprecated. The new libsbml API only has
170   * constructors which take the SBML level and version or one that takes
171   * an {@link SBMLNamespaces} object.
172   */ public
173 Text(RenderPkgNamespaces renderns, String id, RelAbsVector x, RelAbsVector y, RelAbsVector z) throws org.sbml.libsbml.SBMLConstructorException {
174    this(libsbmlJNI.new_Text__SWIG_7(RenderPkgNamespaces.getCPtr(renderns), renderns, id, RelAbsVector.getCPtr(x), x, RelAbsVector.getCPtr(y), y, RelAbsVector.getCPtr(z), z), true);
175  }
176
177  
178/**
179   * Instantiates a new {@link Text} object with the given <code>id</code> and position offset.
180   * The position offset coordinates can be omitted and will be set to 0 in
181   * that case.
182   <p>
183   * All attributes are set as described for the default constructor
184   * of {@link GraphicalPrimitive1D}.
185   * All the font rendering attributes as well 
186   * as the text to be rendered are unset.
187   <p>
188   * @param id id string for the {@link Text} object
189   * @param x x coordinate of the position offset
190   * @param y y coordinate of the position offset
191   * @param z z coordinate of the position offset
192   <p>
193   * This constructor is deprecated. The new libsbml API only has
194   * constructors which take the SBML level and version or one that takes
195   * an {@link SBMLNamespaces} object.
196   */ public
197 Text(RenderPkgNamespaces renderns, String id, RelAbsVector x, RelAbsVector y) throws org.sbml.libsbml.SBMLConstructorException {
198    this(libsbmlJNI.new_Text__SWIG_8(RenderPkgNamespaces.getCPtr(renderns), renderns, id, RelAbsVector.getCPtr(x), x, RelAbsVector.getCPtr(y), y), true);
199  }
200
201  
202/**
203   * Instantiates a new {@link Text} object with the given <code>id</code> and position offset.
204   * The position offset coordinates can be omitted and will be set to 0 in
205   * that case.
206   <p>
207   * All attributes are set as described for the default constructor
208   * of {@link GraphicalPrimitive1D}.
209   * All the font rendering attributes as well 
210   * as the text to be rendered are unset.
211   <p>
212   * @param id id string for the {@link Text} object
213   * @param x x coordinate of the position offset
214   * @param y y coordinate of the position offset
215   * @param z z coordinate of the position offset
216   <p>
217   * This constructor is deprecated. The new libsbml API only has
218   * constructors which take the SBML level and version or one that takes
219   * an {@link SBMLNamespaces} object.
220   */ public
221 Text(RenderPkgNamespaces renderns, String id, RelAbsVector x) throws org.sbml.libsbml.SBMLConstructorException {
222    this(libsbmlJNI.new_Text__SWIG_9(RenderPkgNamespaces.getCPtr(renderns), renderns, id, RelAbsVector.getCPtr(x), x), true);
223  }
224
225  
226/**
227   * Instantiates a new {@link Text} object with the given <code>id</code> and position offset.
228   * The position offset coordinates can be omitted and will be set to 0 in
229   * that case.
230   <p>
231   * All attributes are set as described for the default constructor
232   * of {@link GraphicalPrimitive1D}.
233   * All the font rendering attributes as well 
234   * as the text to be rendered are unset.
235   <p>
236   * @param id id string for the {@link Text} object
237   * @param x x coordinate of the position offset
238   * @param y y coordinate of the position offset
239   * @param z z coordinate of the position offset
240   <p>
241   * This constructor is deprecated. The new libsbml API only has
242   * constructors which take the SBML level and version or one that takes
243   * an {@link SBMLNamespaces} object.
244   */ public
245 Text(RenderPkgNamespaces renderns, String id) throws org.sbml.libsbml.SBMLConstructorException {
246    this(libsbmlJNI.new_Text__SWIG_10(RenderPkgNamespaces.getCPtr(renderns), renderns, id), true);
247  }
248
249  
250/**
251   * Sets the position of the text within the viewport.
252   * This is like an offset that is applied after alignment.
253   * If the z coordinate is omitted, it is set to 0.
254   <p>
255   * @param x x coordinate of the position offset
256   * @param y y coordinate of the position offset
257   * @param z z coordinate of the position offset
258   */ public
259 void setCoordinates(RelAbsVector x, RelAbsVector y, RelAbsVector z) {
260    libsbmlJNI.Text_setCoordinates__SWIG_0(swigCPtr, this, RelAbsVector.getCPtr(x), x, RelAbsVector.getCPtr(y), y, RelAbsVector.getCPtr(z), z);
261  }
262
263  
264/**
265   * Sets the position of the text within the viewport.
266   * This is like an offset that is applied after alignment.
267   * If the z coordinate is omitted, it is set to 0.
268   <p>
269   * @param x x coordinate of the position offset
270   * @param y y coordinate of the position offset
271   * @param z z coordinate of the position offset
272   */ public
273 void setCoordinates(RelAbsVector x, RelAbsVector y) {
274    libsbmlJNI.Text_setCoordinates__SWIG_1(swigCPtr, this, RelAbsVector.getCPtr(x), x, RelAbsVector.getCPtr(y), y);
275  }
276
277  
278/**
279   * Sets the x position of the text within the viewport.
280   * This is like an offset that is applied after alignment.
281   <p>
282   * @param x x coordinate of the position offset
283   */ public
284 void setX(RelAbsVector x) {
285    libsbmlJNI.Text_setX(swigCPtr, this, RelAbsVector.getCPtr(x), x);
286  }
287
288  
289/**
290   * Sets the y position of the text within the viewport.
291   * This is like an offset that is applied after alignment.
292   <p>
293   * @param y y coordinate of the position offset
294   */ public
295 void setY(RelAbsVector y) {
296    libsbmlJNI.Text_setY(swigCPtr, this, RelAbsVector.getCPtr(y), y);
297  }
298
299  
300/**
301   * Sets the z position of the text within the viewport.
302   * This is like an offset that is applied after alignment.
303   <p>
304   * @param z z coordinate of the position offset
305   */ public
306 void setZ(RelAbsVector z) {
307    libsbmlJNI.Text_setZ(swigCPtr, this, RelAbsVector.getCPtr(z), z);
308  }
309
310  
311/**
312   * Returns the x position offset as a  reference.
313   * This offset is applied after alignment.
314   <p>
315   * @return  reference of x position offset
316   */ public
317 RelAbsVector getX() {
318    return new RelAbsVector(libsbmlJNI.Text_getX__SWIG_0(swigCPtr, this), false);
319  }
320
321  
322/**
323   * Returns the y position offset as a  reference.
324   * This offset is applied after alignment.
325   <p>
326   * @return  reference of y position offset
327   */ public
328 RelAbsVector getY() {
329    return new RelAbsVector(libsbmlJNI.Text_getY__SWIG_0(swigCPtr, this), false);
330  }
331
332  
333/**
334   * Returns the z position offset as a  reference.
335   * This offset is applied after alignment.
336   <p>
337   * @return  reference of z position offset
338   */ public
339 RelAbsVector getZ() {
340    return new RelAbsVector(libsbmlJNI.Text_getZ__SWIG_0(swigCPtr, this), false);
341  }
342
343  
344/**
345   * Sets the font family.
346   <p>
347   * @param family The name of the font family, e.g. Helvetica
348   */ public
349 void setFontFamily(String family) {
350    libsbmlJNI.Text_setFontFamily(swigCPtr, this, family);
351  }
352
353  
354/**
355   * Sets the font size.
356   * Normally this is an absolute value, e.g. 18 for a 18pt font.
357   * It is however allowed the specify the font size in terms of relative values
358   * in relation to the current viewport. In most cases the viewport will be the 
359   * dimensions of a bounding box of a layout object.
360   <p>
361   * @param size the new font size.
362   */ public
363 void setFontSize(RelAbsVector size) {
364    libsbmlJNI.Text_setFontSize(swigCPtr, this, RelAbsVector.getCPtr(size), size);
365  }
366
367  
368/**
369   * Sets the font weight.
370   * Valid values are Text.WEIGHT_UNSET, Text.WEIGHT_NORMAL or
371   * Text.WEIGHT_BOLD.
372   <p>
373   * @param weight The new text weight to be set.
374   */ public
375 void setFontWeight(int weight) {
376    libsbmlJNI.Text_setFontWeight(swigCPtr, this, weight);
377  }
378
379  
380/**
381   * Sets the font style.
382   * Valid values are Text.STYLE_UNSET, Text.STYLE_NORMAL or
383   * Text.STYLE_ITALIC
384   <p>
385   * @param style The new font style to be set.
386   */ public
387 void setFontStyle(int style) {
388    libsbmlJNI.Text_setFontStyle(swigCPtr, this, style);
389  }
390
391  
392/**
393   * Sets the text anchor.
394   * This is defines the horizontal text position.
395   * Valid values are Text.ANCHOR_UNSET, Text.ANCHOR_START,
396   * Text.ANCHOR_MIDDLE and Text_ANCHOR_END.
397   * Text.ANCHOR_BASELINE is not a valid value
398   * for the text-anchor attribute. If you set the text anchor to 
399   * Text.ANCHOR_BASELINE, it will be set to Text.ANCHOR_UNSET.
400   <p>
401   * @param anchor The new horizontal alignment flag.
402   */ public
403 void setTextAnchor(int anchor) {
404    libsbmlJNI.Text_setTextAnchor(swigCPtr, this, anchor);
405  }
406
407  
408/**
409   * Sets the vertical text anchor.
410   * This is defines the vertical text position.
411   * Valid values are Text.ANCHOR_UNSET, Text.ANCHOR_TOP,
412   * Text.ANCHOR_MIDDLE and Text_ANCHOR_BOTTOM.
413   <p>
414   * @param anchor The new vertical alignment flag.
415   */ public
416 void setVTextAnchor(int anchor) {
417    libsbmlJNI.Text_setVTextAnchor(swigCPtr, this, anchor);
418  }
419
420  
421/**
422   * Returns the font family.
423   <p>
424   * @return The name of the font family to be used for text rendering.
425   */ public
426 String getFontFamily() {
427    return libsbmlJNI.Text_getFontFamily(swigCPtr, this);
428  }
429
430  
431/**
432   * Returns the font size as a  reference.
433   <p>
434   * @return  reference to the size to be used for rendering text.
435   */ public
436 RelAbsVector getFontSize() {
437    return new RelAbsVector(libsbmlJNI.Text_getFontSize__SWIG_0(swigCPtr, this), false);
438  }
439
440  
441/**
442   * Returns the font weight.
443   <p>
444   * @return font weight used to render text children
445   */ public
446 int getFontWeight() {
447    return libsbmlJNI.Text_getFontWeight(swigCPtr, this);
448  }
449
450  
451/**
452   * Returns the font style.
453   <p>
454   * @return font style used to render text children
455   */ public
456 int getFontStyle() {
457    return libsbmlJNI.Text_getFontStyle(swigCPtr, this);
458  }
459
460  
461/**
462   * Returns the text anchor.
463   <p>
464   * @return the horizontal text alignment flag
465   */ public
466 int getTextAnchor() {
467    return libsbmlJNI.Text_getTextAnchor(swigCPtr, this);
468  }
469
470  
471/**
472   * Returns the vertical text anchor.
473   <p>
474   * @return the vertical text alignment flag
475   */ public
476 int getVTextAnchor() {
477    return libsbmlJNI.Text_getVTextAnchor(swigCPtr, this);
478  }
479
480  
481/**
482   * Returns true if the horizonal alignment attribute has been set.
483   <p>
484   * @return true is flag is not Text.ANCHOR_UNSET
485   */ public
486 boolean isSetTextAnchor() {
487    return libsbmlJNI.Text_isSetTextAnchor(swigCPtr, this);
488  }
489
490  
491/**
492   * Returns true if the vertical alignment attribute has been set.
493   <p>
494   * @return true is flag is not Text.ANCHOR_UNSET
495   */ public
496 boolean isSetVTextAnchor() {
497    return libsbmlJNI.Text_isSetVTextAnchor(swigCPtr, this);
498  }
499
500  
501/**
502   * Returns the text for the {@link Text} object.
503   <p>
504   * @return the text string to be rendered for the {@link Text} object.
505   */ public
506 String getText() {
507    return libsbmlJNI.Text_getText(swigCPtr, this);
508  }
509
510  
511/**
512   * Sets the text for the text element.
513   <p>
514   * @param text The text to be rendered for the {@link Text} object.
515   */ public
516 void setText(String text) {
517    libsbmlJNI.Text_setText(swigCPtr, this, text);
518  }
519
520  
521/**
522   * Returns true if the text is set to something else than the empty string.
523   <p>
524   * @return true if the text is not empty.
525   */ public
526 boolean isSetText() {
527    return libsbmlJNI.Text_isSetText(swigCPtr, this);
528  }
529
530  
531/**
532   * Creates and returns a deep copy of this {@link SBase} object.
533   <p>
534   * @return the (deep) copy of this {@link SBase} object.
535   */ public
536 Text cloneObject() {
537    long cPtr = libsbmlJNI.Text_cloneObject(swigCPtr, this);
538    return (cPtr == 0) ? null : new Text(cPtr, true);
539  }
540
541  
542/**
543   * Returns the XML element name of this object.
544   <p>
545   * This is overridden by subclasses to return a string appropriate to the
546   * SBML component.  For example, {@link Model} defines it as returning 'model',
547   * {@link CompartmentType} defines it as returning 'compartmentType', etc.
548   <p>
549   * NOTE: this function is only ever going to be called from the constructor
550   * @internal
551   */ public
552 String getElementName() {
553    return libsbmlJNI.Text_getElementName(swigCPtr, this);
554  }
555
556  
557/**
558   * Returns the libSBML type code for this object.
559   <p>
560   * <p>
561 * LibSBML attaches an identifying code to every kind of SBML object.  These
562 * are integer constants known as <em>SBML type codes</em>.  The names of all
563 * the codes begin with the characters <code>SBML_</code>.
564 * In the Java language interface for libSBML, the
565 * type codes are defined as static integer constants in the interface class
566 * {@link libsbmlConstants}.    Note that different Level&nbsp;3
567 * package plug-ins may use overlapping type codes; to identify the package
568 * to which a given object belongs, call the <code>getPackageName()</code>
569 * method on the object.
570   <p>
571   * <p>
572 * Here follow some additional general information about libSBML type codes:
573 <p>
574 * <ul>
575 * <li> The codes are the possible return values (integers) for the following
576 * functions:
577 * <ul>
578 *     <li> {@link SBase#getTypeCode()}
579 *     <li> {@link ListOf#getItemTypeCode()}
580 * </ul>
581 * (Compatibility note: in libSBML 5, the type of return values of these
582 * functions changed from an enumeration to an integer for extensibility
583 * in the face of different programming languages.)
584 <p>
585 * <li> Each package extension must define similar sets of values for each
586 * {@link SBase} subclass (e.g. <code>SBMLLayoutTypeCode_t</code> for the SBML Level&nbsp;3
587 * Layout extension, <code>SBMLFbcTypeCode_t</code> for the SBML Level&nbsp;3 Flux
588 * Balance Constraints extension, etc.).
589 <p>
590 * <li> The value of each package-specific type code can be duplicated between
591 * those of different packages.  (This is necessary because the development
592 * of libSBML extensions for different SBML packages may be undertaken by
593 * different developers at different times; requiring the developers to
594 * coordinate their use of type codes would be nettlesome and probably
595 * doomed to failure.)
596 <p>
597 * <li> To distinguish between the type codes of different packages, both the
598 * return value of {@link SBase#getTypeCode()} and {@link SBase#getPackageName()} must be
599 * checked.  This is particularly important for functions that take an SBML
600 * type code as an argument, such as
601 * {@link SBase#getAncestorOfType(int, String)}, which by
602 * default assumes you are handing it a core type, and will return <code>null</code> if
603 * the value you give it is actually from a package.
604 *
605 * </ul> <p>
606 * The following example code illustrates the combined use of
607 * {@link SBase#getPackageName()} and {@link SBase#getTypeCode()}:
608 <p>
609<pre class='fragment'>
610void example (SBase sb)
611{
612  String pkgName = sb.getPackageName();
613  if (pkgName.equals('core'))
614  {
615    switch (sb.getTypeCode())
616    {
617      case libsbml.SBML_MODEL:
618         ....
619         break;
620      case libsbml.SBML_REACTION:
621         ....
622    }
623  }
624  else if (pkgName.equals('layout'))
625  {
626    switch (sb.getTypeCode())
627    {
628      case libsbml.SBML_LAYOUT_LAYOUT:
629         ....
630         break;
631      case libsbml.SBML_LAYOUT_REACTIONGLYPH:
632         ....
633    }
634  }
635  ...
636}
637</pre>
638   <p>
639   * @return the SBML object type
640   * code of this SBML object, or {@link libsbmlConstants#SBML_UNKNOWN SBML_UNKNOWN} (the default).  The latter is possible because
641   * subclasses of {@link SBase} are not required to implement this method to return
642   * a type code.
643   <p>
644   * <p>
645 * @warning <span class='warning'>The specific integer values of the possible
646 * type codes may be reused by different Level&nbsp;3 package plug-ins.
647 * Thus, to identifiy the correct code, <strong>it is necessary to invoke
648 * both getTypeCode() and getPackageName()</strong>.</span>
649   <p>
650   * @see #getPackageName()
651   * @see #getElementName()
652   */ public
653 int getTypeCode() {
654    return libsbmlJNI.Text_getTypeCode(swigCPtr, this);
655  }
656
657  
658/**
659   * Returns true if the font family has been set or false otherwise.
660   <p>
661   * @return true if the font family string is not empty
662   */ public
663 boolean isSetFontFamily() {
664    return libsbmlJNI.Text_isSetFontFamily(swigCPtr, this);
665  }
666
667  
668/**
669   * Returns true if the font size has been set or false otherwise.
670   <p>
671   * @return true if the {@link RelAbsVector} specifying the font size does not
672   * contain NaN either as the absolute or the relative value.
673   */ public
674 boolean isSetFontSize() {
675    return libsbmlJNI.Text_isSetFontSize(swigCPtr, this);
676  }
677
678  
679/**
680   * Returns true if the font weight has been set or false otherwise.
681   <p>
682   * @return true is the flag is not Text.WEIGHT_UNSET
683   */ public
684 boolean isSetFontWeight() {
685    return libsbmlJNI.Text_isSetFontWeight(swigCPtr, this);
686  }
687
688  
689/**
690   * Returns true if the font style has been set or false otherwise.
691   <p>
692   * @return true is the flag is not Text.STYLE_UNSET
693   */ public
694 boolean isSetFontStyle() {
695    return libsbmlJNI.Text_isSetFontStyle(swigCPtr, this);
696  }
697
698  
699/**
700   * Creates an {@link XMLNode} object from this {@link GraphicalPrimitive1D} object.
701   <p>
702   * @return the {@link XMLNode} with the XML representation for the 
703   * {@link GraphicalPrimitive1D} object.
704   <p>
705   * This method is purely virtual and has to be implemented by subclasses.
706   */ public
707 XMLNode toXML() {
708    return new XMLNode(libsbmlJNI.Text_toXML(swigCPtr, this), true);
709  }
710
711  
712/** * @internal */ public
713 boolean hasRequiredAttributes() {
714    return libsbmlJNI.Text_hasRequiredAttributes(swigCPtr, this);
715  }
716
717  
718/** * @internal */ public
719 boolean hasRequiredElements() {
720    return libsbmlJNI.Text_hasRequiredElements(swigCPtr, this);
721  }
722
723  // FONT_WEIGHT 
724  public final static int WEIGHT_UNSET = 0;
725  public final static int WEIGHT_NORMAL = WEIGHT_UNSET + 1;
726  public final static int WEIGHT_BOLD = WEIGHT_NORMAL + 1;
727
728  // FONT_STYLE 
729  public final static int STYLE_UNSET = 0;
730  public final static int STYLE_NORMAL = STYLE_UNSET + 1;
731  public final static int STYLE_ITALIC = STYLE_NORMAL + 1;
732
733  // TEXT_ANCHOR 
734  public final static int ANCHOR_UNSET = 0;
735  public final static int ANCHOR_START = 1;
736  public final static int ANCHOR_MIDDLE = 2;
737  public final static int ANCHOR_END = 3;
738  public final static int ANCHOR_TOP = 1;
739  public final static int ANCHOR_BOTTOM = 3;
740
741}