1 package org.opencrx.kernel.forecast1.cci; 14 15 public class SegmentImpl 16 extends org.openmdx.base.accessor.jmi.spi.RefObject_1 17 implements Segment { 18 19 public SegmentImpl( 20 org.openmdx.base.accessor.generic.cci.Object_1_0 object, 21 javax.jmi.reflect.RefClass refClass 22 ) { 23 super(object, refClass); 24 } 25 26 protected void setAudit( 30 java.util.List newValue 31 ) { 32 refSetValue("org:opencrx:kernel:base:Auditee:audit", newValue); 33 } 34 35 protected void setAudit( 36 org.opencrx.kernel.base.cci.AuditEntry[] newValue 37 ) { 38 refSetValue("org:opencrx:kernel:base:Auditee:audit", newValue); 39 } 40 41 public org.opencrx.kernel.base.cci.AuditEntry getAudit( 45 String id 46 ) { 47 return (org.opencrx.kernel.base.cci.AuditEntry)refGetValue( 48 "org:opencrx:kernel:base:Auditee:audit", 49 id 50 ); 51 } 52 53 public java.util.Collection getAudit( 57 ) { 58 return (java.util.Collection )refGetValue( 59 "org:opencrx:kernel:base:Auditee:audit" 60 ); 61 } 62 63 public java.util.List getAudit( 64 org.opencrx.kernel.base.cci.AuditEntryFilter filter 65 ) { 66 return ((org.openmdx.compatibility.base.collection.Container)refGetValue( 67 "org:opencrx:kernel:base:Auditee:audit" 68 )).toList(filter); 69 } 70 71 protected void addAudit ( 75 String id, 76 org.opencrx.kernel.base.cci.AuditEntry newValue 77 ) { 78 refAddValue( 79 "org:opencrx:kernel:base:Auditee:audit", 80 id, 81 newValue 82 ); 83 } 84 85 protected void addAudit ( 89 org.opencrx.kernel.base.cci.AuditEntry newValue 90 ) { 91 refAddValue( 92 "org:opencrx:kernel:base:Auditee:audit", 93 newValue 94 ); 95 } 96 97 protected void removeAudit ( 101 String id 102 ) { 103 refRemoveValue( 104 "org:opencrx:kernel:base:Auditee:audit", 105 id 106 ); 107 } 108 109 public org.opencrx.kernel.base.cci.ImportResult importItem( 113 org.opencrx.kernel.base.cci.ImportParams params 114 ) throws javax.jmi.reflect.RefException { 115 java.util.List args = new java.util.ArrayList (); 116 args.add(params); 117 return (org.opencrx.kernel.base.cci.ImportResult)refInvokeOperation( 118 "org:opencrx:kernel:base:Importer:importItem", 119 args 120 ); 121 } 122 123 public org.opencrx.kernel.base.cci.ImportResult importItem( 124 byte[] item 125 , String itemMimeType 126 , String itemName 127 , short locale 128 ) throws javax.jmi.reflect.RefException { 129 return importItem( 130 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createImportParams( 131 item 132 , itemMimeType 133 , itemName 134 , locale 135 ) 136 ); 137 } 138 139 public short getAccessLevelBrowse( 143 ) { 144 return getAccessLevelBrowse(0); 145 } 146 147 protected short getAccessLevelBrowse( 148 int index 149 ) { 150 return ((java.lang.Number )this.refGetValue("org:opencrx:kernel:base:SecureObject:accessLevelBrowse", index)).shortValue(); 151 } 152 153 public void setAccessLevelBrowse( 157 short newValue 158 ) { 159 setAccessLevelBrowse(0, newValue); 160 } 161 162 protected void setAccessLevelBrowse( 163 int index, 164 short newValue 165 ) { 166 refSetValue("org:opencrx:kernel:base:SecureObject:accessLevelBrowse", index, new Short (newValue)); 167 } 168 public short getAccessLevelDelete( 172 ) { 173 return getAccessLevelDelete(0); 174 } 175 176 protected short getAccessLevelDelete( 177 int index 178 ) { 179 return ((java.lang.Number )this.refGetValue("org:opencrx:kernel:base:SecureObject:accessLevelDelete", index)).shortValue(); 180 } 181 182 public void setAccessLevelDelete( 186 short newValue 187 ) { 188 setAccessLevelDelete(0, newValue); 189 } 190 191 protected void setAccessLevelDelete( 192 int index, 193 short newValue 194 ) { 195 refSetValue("org:opencrx:kernel:base:SecureObject:accessLevelDelete", index, new Short (newValue)); 196 } 197 public short getAccessLevelUpdate( 201 ) { 202 return getAccessLevelUpdate(0); 203 } 204 205 protected short getAccessLevelUpdate( 206 int index 207 ) { 208 return ((java.lang.Number )this.refGetValue("org:opencrx:kernel:base:SecureObject:accessLevelUpdate", index)).shortValue(); 209 } 210 211 public void setAccessLevelUpdate( 215 short newValue 216 ) { 217 setAccessLevelUpdate(0, newValue); 218 } 219 220 protected void setAccessLevelUpdate( 221 int index, 222 short newValue 223 ) { 224 refSetValue("org:opencrx:kernel:base:SecureObject:accessLevelUpdate", index, new Short (newValue)); 225 } 226 public org.opencrx.kernel.base.cci.ModifySecureObjectResult addOwningGroup( 230 org.opencrx.kernel.base.cci.ModifyOwningGroupParams params 231 ) throws javax.jmi.reflect.RefException { 232 java.util.List args = new java.util.ArrayList (); 233 args.add(params); 234 return (org.opencrx.kernel.base.cci.ModifySecureObjectResult)refInvokeOperation( 235 "org:opencrx:kernel:base:SecureObject:addOwningGroup", 236 args 237 ); 238 } 239 240 public org.opencrx.kernel.base.cci.ModifySecureObjectResult addOwningGroup( 241 org.opencrx.security.realm1.cci.PrincipalGroup group 242 , short mode 243 ) throws javax.jmi.reflect.RefException { 244 return addOwningGroup( 245 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createModifyOwningGroupParams( 246 group 247 , mode 248 ) 249 ); 250 } 251 252 public java.util.List getOwner ( 256 ) { 257 return (java.util.List )this.refGetValue("owner"); 258 } 259 public String getOwner( 260 int index 261 ) { 262 return (String )this.refGetValue("org:opencrx:kernel:base:SecureObject:owner", index); 263 } 264 265 protected void setOwner( 269 java.util.List newValue 270 ) { 271 refSetValue("org:opencrx:kernel:base:SecureObject:owner", newValue); 272 } 273 274 protected void setOwner( 275 String [] newValue 276 ) { 277 refSetValue("org:opencrx:kernel:base:SecureObject:owner", newValue); 278 } 279 280 public void setOwningGroup( 284 java.util.List newValue 285 ) { 286 refSetValue("org:opencrx:kernel:base:SecureObject:owningGroup", newValue); 287 } 288 289 public void setOwningGroup( 290 org.opencrx.security.realm1.cci.PrincipalGroup[] newValue 291 ) { 292 refSetValue("org:opencrx:kernel:base:SecureObject:owningGroup", newValue); 293 } 294 295 public org.opencrx.security.realm1.cci.PrincipalGroup getOwningGroup( 299 int index 300 ) { 301 return (org.opencrx.security.realm1.cci.PrincipalGroup)refGetValue( 302 "org:opencrx:kernel:base:SecureObject:owningGroup", 303 new Integer (index) 304 ); 305 } 306 307 public java.util.Collection getOwningGroup( 311 ) { 312 return (java.util.Collection )refGetValue( 313 "org:opencrx:kernel:base:SecureObject:owningGroup" 314 ); 315 } 316 317 public void addOwningGroup ( 321 int index, 322 org.opencrx.security.realm1.cci.PrincipalGroup newValue 323 ) { 324 refAddValue( 325 "org:opencrx:kernel:base:SecureObject:owningGroup", 326 new Integer (index), 327 newValue 328 ); 329 } 330 331 public void addOwningGroup ( 335 org.opencrx.security.realm1.cci.PrincipalGroup newValue 336 ) { 337 refAddValue( 338 "org:opencrx:kernel:base:SecureObject:owningGroup", 339 newValue 340 ); 341 } 342 343 public void removeOwningGroup ( 347 int index 348 ) { 349 refRemoveValue( 350 "org:opencrx:kernel:base:SecureObject:owningGroup", 351 new Integer (index) 352 ); 353 } 354 355 public org.opencrx.security.realm1.cci.User getOwningUser( 359 ) { 360 return (org.opencrx.security.realm1.cci.User)refGetValue( 361 "org:opencrx:kernel:base:SecureObject:owningUser" 362 ); 363 } 364 365 public void setOwningUser( 369 org.opencrx.security.realm1.cci.User newValue 370 ) { 371 refSetValue( 372 "org:opencrx:kernel:base:SecureObject:owningUser", 373 newValue 374 ); 375 } 376 377 public void removeOwningUser ( 381 ) { 382 refRemoveValue( 383 "org:opencrx:kernel:base:SecureObject:owningUser" 384 ); 385 } 386 public org.opencrx.kernel.base.cci.ModifySecureObjectResult removeAllOwningGroup( 390 org.opencrx.kernel.base.cci.RemoveAllOwningGroupParams params 391 ) throws javax.jmi.reflect.RefException { 392 java.util.List args = new java.util.ArrayList (); 393 args.add(params); 394 return (org.opencrx.kernel.base.cci.ModifySecureObjectResult)refInvokeOperation( 395 "org:opencrx:kernel:base:SecureObject:removeAllOwningGroup", 396 args 397 ); 398 } 399 400 public org.opencrx.kernel.base.cci.ModifySecureObjectResult removeAllOwningGroup( 401 short mode 402 ) throws javax.jmi.reflect.RefException { 403 return removeAllOwningGroup( 404 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createRemoveAllOwningGroupParams( 405 mode 406 ) 407 ); 408 } 409 410 public org.opencrx.kernel.base.cci.ModifySecureObjectResult removeOwningGroup( 414 org.opencrx.kernel.base.cci.ModifyOwningGroupParams params 415 ) throws javax.jmi.reflect.RefException { 416 java.util.List args = new java.util.ArrayList (); 417 args.add(params); 418 return (org.opencrx.kernel.base.cci.ModifySecureObjectResult)refInvokeOperation( 419 "org:opencrx:kernel:base:SecureObject:removeOwningGroup", 420 args 421 ); 422 } 423 424 public org.opencrx.kernel.base.cci.ModifySecureObjectResult removeOwningGroup( 425 org.opencrx.security.realm1.cci.PrincipalGroup group 426 , short mode 427 ) throws javax.jmi.reflect.RefException { 428 return removeOwningGroup( 429 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createModifyOwningGroupParams( 430 group 431 , mode 432 ) 433 ); 434 } 435 436 public org.opencrx.kernel.base.cci.ModifySecureObjectResult setAccessLevel( 440 org.opencrx.kernel.base.cci.SetAccessLevelParams params 441 ) throws javax.jmi.reflect.RefException { 442 java.util.List args = new java.util.ArrayList (); 443 args.add(params); 444 return (org.opencrx.kernel.base.cci.ModifySecureObjectResult)refInvokeOperation( 445 "org:opencrx:kernel:base:SecureObject:setAccessLevel", 446 args 447 ); 448 } 449 450 public org.opencrx.kernel.base.cci.ModifySecureObjectResult setAccessLevel( 451 short accessLevelBrowse 452 , short accessLevelDelete 453 , short accessLevelUpdate 454 , short mode 455 ) throws javax.jmi.reflect.RefException { 456 return setAccessLevel( 457 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createSetAccessLevelParams( 458 accessLevelBrowse 459 , accessLevelDelete 460 , accessLevelUpdate 461 , mode 462 ) 463 ); 464 } 465 466 public org.opencrx.kernel.base.cci.ModifySecureObjectResult setOwningUser( 470 org.opencrx.kernel.base.cci.SetOwningUserParams params 471 ) throws javax.jmi.reflect.RefException { 472 java.util.List args = new java.util.ArrayList (); 473 args.add(params); 474 return (org.opencrx.kernel.base.cci.ModifySecureObjectResult)refInvokeOperation( 475 "org:opencrx:kernel:base:SecureObject:setOwningUser", 476 args 477 ); 478 } 479 480 public org.opencrx.kernel.base.cci.ModifySecureObjectResult setOwningUser( 481 short mode 482 , org.opencrx.security.realm1.cci.User user 483 ) throws javax.jmi.reflect.RefException { 484 return setOwningUser( 485 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createSetOwningUserParams( 486 mode 487 , user 488 ) 489 ); 490 } 491 492 public org.opencrx.kernel.base.cci.ExecuteWorkflowResult executeWorkflow( 496 org.opencrx.kernel.base.cci.ExecuteWorkflowParams params 497 ) throws javax.jmi.reflect.RefException { 498 java.util.List args = new java.util.ArrayList (); 499 args.add(params); 500 return (org.opencrx.kernel.base.cci.ExecuteWorkflowResult)refInvokeOperation( 501 "org:opencrx:kernel:base:WorkflowTarget:executeWorkflow", 502 args 503 ); 504 } 505 506 public org.opencrx.kernel.base.cci.ExecuteWorkflowResult executeWorkflow( 507 java.util.Date startAt 508 , org.openmdx.base.cci.BasicObject targetObject 509 , String targetObjectXri 510 , String triggeredByEventId 511 , Integer triggeredByEventType 512 , org.opencrx.kernel.base.cci.Subscription triggeredBySubscription 513 , org.opencrx.kernel.base.cci.WfProcess workflow 514 ) throws javax.jmi.reflect.RefException { 515 return executeWorkflow( 516 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createExecuteWorkflowParams( 517 startAt 518 , targetObject 519 , targetObjectXri 520 , triggeredByEventId 521 , triggeredByEventType 522 , triggeredBySubscription 523 , workflow 524 ) 525 ); 526 } 527 528 public org.opencrx.kernel.base.cci.ExportResult exportXml( 532 org.opencrx.kernel.base.cci.XmlExportParams params 533 ) throws javax.jmi.reflect.RefException { 534 java.util.List args = new java.util.ArrayList (); 535 args.add(params); 536 return (org.opencrx.kernel.base.cci.ExportResult)refInvokeOperation( 537 "org:opencrx:kernel:base:XmlExporter:exportXml", 538 args 539 ); 540 } 541 542 public org.opencrx.kernel.base.cci.ExportResult exportXml( 543 String attributeFilter 544 , String referenceFilter 545 ) throws javax.jmi.reflect.RefException { 546 return exportXml( 547 ((org.opencrx.kernel.base.cci.basePackage)refOutermostPackage().refPackage("org:opencrx:kernel:base")).createXmlExportParams( 548 attributeFilter 549 , referenceFilter 550 ) 551 ); 552 } 553 554 public void setBudget( 558 java.util.List newValue 559 ) { 560 refSetValue("org:opencrx:kernel:forecast1:Segment:budget", newValue); 561 } 562 563 public void setBudget( 564 org.opencrx.kernel.forecast1.cci.Budget[] newValue 565 ) { 566 refSetValue("org:opencrx:kernel:forecast1:Segment:budget", newValue); 567 } 568 569 public org.opencrx.kernel.forecast1.cci.Budget getBudget( 573 String id 574 ) { 575 return (org.opencrx.kernel.forecast1.cci.Budget)refGetValue( 576 "org:opencrx:kernel:forecast1:Segment:budget", 577 id 578 ); 579 } 580 581 public java.util.Collection getBudget( 585 ) { 586 return (java.util.Collection )refGetValue( 587 "org:opencrx:kernel:forecast1:Segment:budget" 588 ); 589 } 590 591 public java.util.List getBudget( 592 org.opencrx.kernel.forecast1.cci.BudgetFilter filter 593 ) { 594 return ((org.openmdx.compatibility.base.collection.Container)refGetValue( 595 "org:opencrx:kernel:forecast1:Segment:budget" 596 )).toList(filter); 597 } 598 599 public void addBudget ( 603 String id, 604 org.opencrx.kernel.forecast1.cci.Budget newValue 605 ) { 606 refAddValue( 607 "org:opencrx:kernel:forecast1:Segment:budget", 608 id, 609 newValue 610 ); 611 } 612 613 public void addBudget ( 617 org.opencrx.kernel.forecast1.cci.Budget newValue 618 ) { 619 refAddValue( 620 "org:opencrx:kernel:forecast1:Segment:budget", 621 newValue 622 ); 623 } 624 625 public void removeBudget ( 629 String id 630 ) { 631 refRemoveValue( 632 "org:opencrx:kernel:forecast1:Segment:budget", 633 id 634 ); 635 } 636 637 public void setForecast( 641 java.util.List newValue 642 ) { 643 refSetValue("org:opencrx:kernel:forecast1:Segment:forecast", newValue); 644 } 645 646 public void setForecast( 647 org.opencrx.kernel.forecast1.cci.Forecast[] newValue 648 ) { 649 refSetValue("org:opencrx:kernel:forecast1:Segment:forecast", newValue); 650 } 651 652 public org.opencrx.kernel.forecast1.cci.Forecast getForecast( 656 String ouName 657 ) { 658 return (org.opencrx.kernel.forecast1.cci.Forecast)refGetValue( 659 "org:opencrx:kernel:forecast1:Segment:forecast", 660 ouName 661 ); 662 } 663 664 public java.util.Collection getForecast( 668 ) { 669 return (java.util.Collection )refGetValue( 670 "org:opencrx:kernel:forecast1:Segment:forecast" 671 ); 672 } 673 674 public java.util.List getForecast( 675 org.opencrx.kernel.forecast1.cci.ForecastFilter filter 676 ) { 677 return ((org.openmdx.compatibility.base.collection.Container)refGetValue( 678 "org:opencrx:kernel:forecast1:Segment:forecast" 679 )).toList(filter); 680 } 681 682 public void addForecast ( 686 String ouName, 687 org.opencrx.kernel.forecast1.cci.Forecast newValue 688 ) { 689 refAddValue( 690 "org:opencrx:kernel:forecast1:Segment:forecast", 691 ouName, 692 newValue 693 ); 694 } 695 696 public void addForecast ( 700 org.opencrx.kernel.forecast1.cci.Forecast newValue 701 ) { 702 refAddValue( 703 "org:opencrx:kernel:forecast1:Segment:forecast", 704 newValue 705 ); 706 } 707 708 public void removeForecast ( 712 String ouName 713 ) { 714 refRemoveValue( 715 "org:opencrx:kernel:forecast1:Segment:forecast", 716 ouName 717 ); 718 } 719 720 protected void setContext( 724 java.util.List newValue 725 ) { 726 refSetValue("org:openmdx:base:ContextCapable:context", newValue); 727 } 728 729 protected void setContext( 730 org.openmdx.base.cci.Context[] newValue 731 ) { 732 refSetValue("org:openmdx:base:ContextCapable:context", newValue); 733 } 734 735 public org.openmdx.base.cci.Context getContext( 739 String id 740 ) { 741 return (org.openmdx.base.cci.Context)refGetValue( 742 "org:openmdx:base:ContextCapable:context", 743 id 744 ); 745 } 746 747 public java.util.Collection getContext( 751 ) { 752 return (java.util.Collection )refGetValue( 753 "org:openmdx:base:ContextCapable:context" 754 ); 755 } 756 757 protected void addContext ( 761 String id, 762 org.openmdx.base.cci.Context newValue 763 ) { 764 refAddValue( 765 "org:openmdx:base:ContextCapable:context", 766 id, 767 newValue 768 ); 769 } 770 771 protected void addContext ( 775 org.openmdx.base.cci.Context newValue 776 ) { 777 refAddValue( 778 "org:openmdx:base:ContextCapable:context", 779 newValue 780 ); 781 } 782 783 protected void removeContext ( 787 String id 788 ) { 789 refRemoveValue( 790 "org:openmdx:base:ContextCapable:context", 791 id 792 ); 793 } 794 795 public String getDescription ( 799 ) { 800 return (String )this.refGetValue("description", 0); 801 } 802 public void setDescription( 806 String newValue 807 ) { 808 refSetValue("org:openmdx:base:Segment:description", 0, newValue); 809 } 810 811 protected void setExtent( 815 java.util.List newValue 816 ) { 817 refSetValue("org:openmdx:base:Segment:extent", newValue); 818 } 819 820 protected void setExtent( 821 org.openmdx.base.cci.ExtentCapable[] newValue 822 ) { 823 refSetValue("org:openmdx:base:Segment:extent", newValue); 824 } 825 826 public org.openmdx.base.cci.ExtentCapable getExtent( 830 String identity 831 ) { 832 return (org.openmdx.base.cci.ExtentCapable)refGetValue( 833 "org:openmdx:base:Segment:extent", 834 identity 835 ); 836 } 837 838 public java.util.Collection getExtent( 842 ) { 843 return (java.util.Collection )refGetValue( 844 "org:openmdx:base:Segment:extent" 845 ); 846 } 847 848 public java.util.List getExtent( 849 org.openmdx.base.cci.ExtentCapableFilter filter 850 ) { 851 return ((org.openmdx.compatibility.base.collection.Container)refGetValue( 852 "org:openmdx:base:Segment:extent" 853 )).toList(filter); 854 } 855 856 protected void addExtent ( 860 String identity, 861 org.openmdx.base.cci.ExtentCapable newValue 862 ) { 863 refAddValue( 864 "org:openmdx:base:Segment:extent", 865 identity, 866 newValue 867 ); 868 } 869 870 protected void addExtent ( 874 org.openmdx.base.cci.ExtentCapable newValue 875 ) { 876 refAddValue( 877 "org:openmdx:base:Segment:extent", 878 newValue 879 ); 880 } 881 882 protected void removeExtent ( 886 String identity 887 ) { 888 refRemoveValue( 889 "org:openmdx:base:Segment:extent", 890 identity 891 ); 892 } 893 894 public org.openmdx.base.cci.Provider getProvider( 898 ) { 899 return (org.openmdx.base.cci.Provider)refGetValue( 900 "org:openmdx:base:Segment:provider" 901 ); 902 } 903 904 protected void setProvider( 908 org.openmdx.base.cci.Provider newValue 909 ) { 910 refSetValue( 911 "org:openmdx:base:Segment:provider", 912 newValue 913 ); 914 } 915 916 protected void setView( 920 java.util.List newValue 921 ) { 922 refSetValue("org:openmdx:compatibility:view1:ViewCapable:view", newValue); 923 } 924 925 protected void setView( 926 org.openmdx.compatibility.view1.cci.View[] newValue 927 ) { 928 refSetValue("org:openmdx:compatibility:view1:ViewCapable:view", newValue); 929 } 930 931 public org.openmdx.compatibility.view1.cci.View getView( 935 String namespace 936 ) { 937 return (org.openmdx.compatibility.view1.cci.View)refGetValue( 938 "org:openmdx:compatibility:view1:ViewCapable:view", 939 namespace 940 ); 941 } 942 943 public java.util.Collection getView( 947 ) { 948 return (java.util.Collection )refGetValue( 949 "org:openmdx:compatibility:view1:ViewCapable:view" 950 ); 951 } 952 953 public java.util.List getView( 954 org.openmdx.compatibility.view1.cci.ViewFilter filter 955 ) { 956 return ((org.openmdx.compatibility.base.collection.Container)refGetValue( 957 "org:openmdx:compatibility:view1:ViewCapable:view" 958 )).toList(filter); 959 } 960 961 protected void addView ( 965 String namespace, 966 org.openmdx.compatibility.view1.cci.View newValue 967 ) { 968 refAddValue( 969 "org:openmdx:compatibility:view1:ViewCapable:view", 970 namespace, 971 newValue 972 ); 973 } 974 975 protected void addView ( 979 org.openmdx.compatibility.view1.cci.View newValue 980 ) { 981 refAddValue( 982 "org:openmdx:compatibility:view1:ViewCapable:view", 983 newValue 984 ); 985 } 986 987 protected void removeView ( 991 String namespace 992 ) { 993 refRemoveValue( 994 "org:openmdx:compatibility:view1:ViewCapable:view", 995 namespace 996 ); 997 } 998 999 } 1003 | Popular Tags |