@@ -62,12 +62,13 @@ public Property<?> getDependentUniqueIdentified() {
6262 }
6363
6464 private String numberlabel = "Object Number" ;
65+ private int numberedextralength ;
6566
6667 /**
67- * create the 'Numbered' property with the default 'Number' labal
68+ * create the 'Numbered' property with the default 'Number' label
6869 */
6970 public Numbered () {
70- this (null );
71+ this (null , 64 );
7172 }
7273
7374 /**
@@ -77,12 +78,39 @@ public Numbered() {
7778 * @param newnumberlabel the specific label for the number on that object
7879 */
7980 public Numbered (String newnumberlabel ) {
81+ this (newnumberlabel , 64 );
82+ }
83+
84+ /**
85+ * create the 'Numbered' property with the default 'Number' label, and a
86+ * specified extra length for the numbered field. The numbered field can be from
87+ * 64 to 1024
88+ *
89+ * @param extralength a number between 64 (default) and 1024
90+ */
91+ public Numbered (int extralength ) {
92+ this (null , extralength );
93+ }
94+
95+ /**
96+ *
97+ * create the 'Numbered' property with a specific number label (e.g. 'Social
98+ * Security Nr') and a specified extra length for the numbered field. The
99+ * numbered field can be from 64 to 1024
100+ *
101+ * @param newnumberlabel the specific label for the number on that object
102+ * @param extralength a number between 64 (default) and 1024
103+ */
104+ public Numbered (String newnumberlabel , int extralength ) {
80105 super ("NUMBERED" );
81106 if (newnumberlabel != null )
82107 this .numberlabel = newnumberlabel ;
83108 if (newnumberlabel != null )
84109 this .addFieldOverrides (new FieldOverrideForProperty ("NUMBER" , newnumberlabel ));
85-
110+ if (extralength <64 ) throw new RuntimeException ("Numbered extra length cannot be smaller than 64, value passed = " +extralength );
111+ if (extralength >1024 ) throw new RuntimeException ("Numbered extra length cannot be higher than 1024, value passed = " +extralength );
112+ this .numberedextralength = extralength ;
113+ this .setExtraAttributes ("," +numberedextralength );
86114 }
87115
88116 /**
@@ -98,20 +126,20 @@ public void controlAfterParentDefinition() {
98126 this .addDependentProperty (uniqueidentified );
99127 DataAccessMethod setnumber = new DataAccessMethod ("SETOBJECTNUMBER" , null , false );
100128 setnumber .addInputArgument (new MethodArgument ("OBJECT" , new ObjectArgument ("OBJECT" , parent )));
101- setnumber .addInputArgument (new MethodArgument ("NR" , new StringArgument ("NR" , 64 )));
129+ setnumber .addInputArgument (new MethodArgument ("NR" , new StringArgument ("NR" , numberedextralength )));
102130 this .addDataAccessMethod (setnumber );
103131 // Fields
104- StoredElement number = new StringStoredElement ("NR" , 64 );
132+ StoredElement number = new StringStoredElement ("NR" , numberedextralength );
105133 this .addElementasSearchElement (number , numberlabel , "unique business identifier of the object" ,
106134 Property .FIELDDIPLSAY_TITLE_MOD , 900 , 30 , new SearchWidgetDefinition (true , "NR" , numberlabel ));
107135 this .addIndex (new Index ("NUMBERINDEX" , number , false ));
108136 DataAccessMethod getobjectbynumber = new DataAccessMethod ("GETOBJECTBYNUMBER" ,
109137 new ArrayArgument (new ObjectArgument ("OBJECT" , parent )), false );
110- getobjectbynumber .addInputArgument (new MethodArgument ("NR" , new StringArgument ("NR" , 64 )));
138+ getobjectbynumber .addInputArgument (new MethodArgument ("NR" , new StringArgument ("NR" , numberedextralength )));
111139 this .addDataAccessMethod (getobjectbynumber );
112140 DataAccessMethod getobjectbyuniquenumber = new DataAccessMethod ("GETUNIQUEOBJECTBYNUMBER" ,
113141 new ObjectArgument ("OBJECT" , parent ), true );
114- getobjectbyuniquenumber .addInputArgument (new MethodArgument ("NR" , new StringArgument ("NR" , 64 )));
142+ getobjectbyuniquenumber .addInputArgument (new MethodArgument ("NR" , new StringArgument ("NR" , numberedextralength )));
115143 this .addDataAccessMethod (getobjectbyuniquenumber );
116144
117145 }
@@ -149,7 +177,7 @@ public void setFinalSettings() {
149177 if (this .autonumberingrule == null ) {
150178 returnvalues = new String [1 ];
151179 returnvalues [0 ] = ".setobjectnumber(number);" ;
152- this .addDataInput (new StringArgument ("NUMBER" , 64 , this .numberlabel ));
180+ this .addDataInput (new StringArgument ("NUMBER" , numberedextralength , this .numberlabel ));
153181
154182 } else {
155183 MethodAdditionalProcessing generatenumber = new MethodAdditionalProcessing (true ,
0 commit comments