File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ public interface ContentParticle {
1919 public static final int CHOICE = 3 ;
2020
2121 public int getType ();
22+ public void addParticle (ContentParticle particle );
2223 public void setCardinality (int cardinality );
2324 public int getCardinality ();
2425 @ Override
Original file line number Diff line number Diff line change @@ -45,7 +45,27 @@ public void setCardinality(int cardinality) {
4545
4646 @ Override
4747 public String toString () {
48- // TODO Auto-generated method stub
49- return super .toString ();
48+ StringBuilder sb = new StringBuilder ("(" );
49+ for (int i = 0 ; i < content .size (); i ++) {
50+ ContentParticle particle = content .get (i );
51+ sb .append (particle .toString ());
52+ if (i < content .size () - 1 ) {
53+ sb .append ('|' );
54+ }
55+ }
56+ sb .append (')' );
57+ switch (cardinality ) {
58+ case ContentModel .NONE :
59+ return sb .toString ();
60+ case ContentModel .OPTIONAL :
61+ return sb + "?" ;
62+ case ContentModel .ONEMANY :
63+ return sb + "+" ;
64+ case ContentModel .ZEROMANY :
65+ return sb + "*" ;
66+ default :
67+ // ignore
68+ }
69+ return sb .toString ();
5070 }
5171}
Original file line number Diff line number Diff line change @@ -31,6 +31,11 @@ public int getCardinality() {
3131 return cardinality ;
3232 }
3333
34+ @ Override
35+ public void addParticle (ContentParticle particle ) {
36+ // do nothing
37+ }
38+
3439 @ Override
3540 public String toString () {
3641 switch (cardinality ) {
Original file line number Diff line number Diff line change @@ -23,6 +23,11 @@ public void setCardinality(int cardinality) {
2323 // do nothing
2424 }
2525
26+ @ Override
27+ public void addParticle (ContentParticle particle ) {
28+ // do nothing
29+ }
30+
2631 @ Override
2732 public int getCardinality () {
2833 return ContentModel .NONE ;
Original file line number Diff line number Diff line change @@ -45,7 +45,27 @@ public int getCardinality() {
4545
4646 @ Override
4747 public String toString () {
48- // TODO Auto-generated method stub
49- return super .toString ();
48+ StringBuilder sb = new StringBuilder ("(" );
49+ for (int i = 0 ; i < content .size (); i ++) {
50+ ContentParticle particle = content .get (i );
51+ sb .append (particle .toString ());
52+ if (i < content .size () - 1 ) {
53+ sb .append (',' );
54+ }
55+ }
56+ sb .append (')' );
57+ switch (cardinality ) {
58+ case ContentModel .NONE :
59+ return sb .toString ();
60+ case ContentModel .OPTIONAL :
61+ return sb + "?" ;
62+ case ContentModel .ONEMANY :
63+ return sb + "+" ;
64+ case ContentModel .ZEROMANY :
65+ return sb + "*" ;
66+ default :
67+ // ignore
68+ }
69+ return sb .toString ();
5070 }
5171}
You can’t perform that action at this time.
0 commit comments