The abstract keyword HELP
Hi guys, i am having some difficulty in understanding the abstract keyword. When do we use abstract,its purpose and its funtionality?
Thanks
roub
abstract :-
1:- you can't creat object of abstract class.
2:- abstract class is supplying the method's signature without giving any definition for it, like void MyMethod(int a);
3:-abstract class may contain implementation for some methods.
4:- any class contain an abstract method must defined as abstract.
5:- when you define abstract method in the heirachery of class you must declare the method as public.
6:-abstract can have public or default access only.
7:- you can use reference to abstract class.
that's all what i can remember now,
Similar Messages
-
When publishing a captivate I get the message "Swf compilation failed. Note: Please verify if any of the actionscript keywords is used as user variable name." and it won't allow me to publish the Captivate, can anyone help?
Hi There,
Can you tell me the Operating System and Captivate version you are using?
Also can you confirm if you are getting this issue will this one project or all the projects? Try to copy paste this project on a new blank project and then try to publish.
Regards,
Mayank -
Updating the photo count for multiple locations of the same keyword
Is it possible to use a keyword on a photo but have it update other copies of the same keyword in lightroom 2.4? I would like to have linked keywords if this is possible.
To help understand this better, here is a rough example or what I would like to do.
I want a generic list of players which in its entirety will contain thousands of names. Then I also want to break those players down into their respective teams/leagues that they played on. This will make the list of players easier to manage when I only have to deal with one team at a time. I also want to seperate by seasons but that is too much for this example. So in my example I have a player who has played in both the AHL and NHL (Daniel Briere).
Now when I am going through my Flyers photos, I want to keyword a Briere photo. So I drag over the NHL/Philadelphia Flyers/Briere, Daniel keyword. So this gives that keyword a count of 1. I also would like the Briere keyword under Players get updated with a 1. Right now, it won't. How can I link those two? Also, when I go into my Phantoms photos, I see another picture of Briere, I would want to drag over the Teams/AHL/Philadelphia Phantoms/ Briere, Daniel keyword. This would in return update that keyword with a count of 1 and update the Players/Briere, Daniel keyword with a 2 since I now have a single NHL and a single AHL photo of him. Of course I need this behavior to be hierarchial. So if I have a photo of Briere in street clothes, I would want to use the Players/Briere, Daniel keyword. This would then give me a count of 3 but it won't updated the values in NHL and AHL keywords since the Players keyword is in a higher/different location.
Can this be done?
Thanks,
Bob
P.S. If I made this too confusing, please let me know and I'll try to explain better.
example of what my keyword list would look like:
Players
Briere, Daniel
Teams
NHL
Philadelphia Flyers
Briere, Daniel
AHL
Philadelphia Phantoms
Briere, DanielYou cannot link keywords as you want. Each of those keywords is independent - they just share the same text.
You can create smart collections which group all occurrences of that name. This is obviously duplication, so you would do it only when you need.
I suggest you don't try to get too clever with using your keyword hierarchy to represent teams. Instead, use one keyword per individual person, a separate one for each team.You could have a top level keyword teams, and another for people, but don't structure things as you suggest as it leads to confusion about people. When you need to look at one team, use a smart collection that looks for images with Team X, Shot in year Y - the Library Filter will then break the items down by keyword.
John -
Development server performance is slow [ Review the error and help me,]
Runtime Errors CONNE_IMPORT_WRONG_COMP_TYPE
Exception CX_SY_IMPORT_MISMATCH_ERROR
Date and Time 24.12.2007 07:02:58
Short text
Error when attempting to IMPORT object "HIST2".
What happened?
Error in the ABAP Application Program
The current ABAP program "RSORAT4M" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_IMPORT_MISMATCH_ERROR', was
not caught in
procedure "AKT_DAY_HIST2" "(FORM)", nor was it propagated by a RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
When importing the object "HIST2", the component no. 8 in the
dataset has a different type from the corresponding component
of the target object in the program "RSORAT4M".
The data type is "I" in the dataset, but "P" in the program.
How to correct the error
Try to find out why the type of the object should be different.
There are various possible options:
1. The type of the imported field has changed in the Data Dictionary.
Make sure that the type of the imported field matches the type
of the field in the Data Dictionary.
If the data cannot be restored from another source, the data must be
read by the 'old' structure, converted und again eported with the new
structure, so that future IMPORTs will always function with the new
structure.
2. A new program version is active, which no longer fits the dataset.
Try to solve the error generating the program "RSORAT4M" again. This
works as follows: Select transaction SE38 in the SAP system. Enter
the program name "RSORAT4M". Then activate the function 'Generate'.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"CONNE_IMPORT_WRONG_COMP_TYPE" "CX_SY_IMPORT_MISMATCH_ERROR"
"RSORAT4M" or "RSORAT4M"
"AKT_DAY_HIST2"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
The exception must either be prevented, caught within proedure
"AKT_DAY_HIST2" "(FORM)", or its possible occurrence must be declared in the
RAISING clause of the procedure.
To prevent the exception, note the following:
System environment
SAP-Release 700
Application server... "UBSDEV"
Network address...... "10.22.6.68"
Operating system..... "SunOS"
Release.............. "5.10"
Hardware type........ "sun4v"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 11
Shortdump setting.... "full"
Database server... "UBSDEV"
Database type..... "ORACLE"
Database name..... "UBD"
Database user ID.. "SAPSR3"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Apr 2 2006 21:14:52"
create on........ "SunOS 5.9 Generic_117171-13 sun4u"
Database version. "OCI_101 "
Patch level. 52
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 700
Operating system..... "SunOS 5.9, SunOS 5.10"
Memory consumption
Roll.... 1117168
EM...... 0
Heap.... 0
Page.... 93315072
MM Used. 638120
MM Free. 458608
User and Transaction
Client.............. 000
User................ "DDIC"
Language key........ "E"
Transaction......... " "
Program............. "RSORAT4M"
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Information on where terminated
Termination occurred in the ABAP program "RSORAT4M" - in "AKT_DAY_HIST2".
The main program was "RSORAT4M ".
In the source code you have the termination point in line 163
of the (Include) program "RSORAT4M".
The program "RSORAT4M" was started as a background job.
Job Name....... "SAP_COLLECTOR_FOR_PERFMONITOR"
Job Initiator.. "DDIC"
Job Number..... 06004902
The termination is caused because exception "CX_SY_IMPORT_MISMATCH_ERROR"
occurred in
procedure "AKT_DAY_HIST2" "(FORM)", but it was neither handled locally nor
declared
in the RAISING clause of its signature.
The procedure is in program "RSORAT4M "; its source code begins in line
161 of the (Include program "RSORAT4M ".
Source Code Extract
Line
SourceCde
133
134
REFRESH HIST2_DAY.
135
CLEAR HIST2_DAY.
136
137
HIST2_DAY-SIZE = TD110-TSSI.
138
HIST2_DAY-FREE = TD110-TSFR.
139
HIST2_DAY-USED = 100 - TD110-TSFRP.
140
HIST2_DAY-TABLES = TD110-TANO.
141
HIST2_DAY-INDICES = TD110-TINO.
142
HIST2_DAY-TSIZE = TD110-TASI.
143
HIST2_DAY-ISIZE = TD110-TISI.
144
145
PERFORM new_analysis_db.
146
HIST2_DAY-DATE = DATE.
147
HIST2_DAY-TIME = TIME.
148
APPEND HIST2_DAY.
149
ENDFORM.
150
Beschaffung neuer Analyse-Daten für Historien <<<
151
152
Historie, Tage >>>
153
FORM DELETE_AKT_DAY_HIST2.
154
DATA: FLAG VALUE ' '.
155
LOOP AT HIST2.
156
IF HIST2-DATE = DATE. DELETE HIST2. FLAG = '*'. ENDIF.
157
ENDLOOP.
158
IF FLAG NE SPACE. SUBTRACT 1 FROM LOGBUCH-ANZDAYS. ENDIF.
159
ENDFORM.
160
161
FORM AKT_DAY_HIST2. " Aktualisiere Tage-Historie
162
PERFORM PREPARE_MONIKEY USING 36. " Lese Historie
>>>>>
IMPORT HIST2 FROM DATABASE MONI(DB) ID MONIKEY.
164
IF SY-SUBRC <> 0.
165
REFRESH HIST2. CLEAR HIST2.
166
PERFORM LOGBUCH_INIT USING 1.
167
PERFORM TRANSFORM_ALL_HISTORIES. " Strukturaenderung fuer Dynami
168
PERFORM PREPARE_MONIKEY USING 36. " Lese Historie
169
IMPORT HIST2 FROM DATABASE MONI(DB) ID MONIKEY.
170
ENDIF.
171
READ TABLE HIST2 INDEX 1.
172
IF SY-SUBRC <> 0.
173
REFRESH HIST2. CLEAR HIST2.
174
PERFORM LOGBUCH_INIT USING 1.
175
ENDIF.
176
PERFORM DELETE_AKT_DAY_HIST2. " Delete aktuellen Tag
177
LOOP AT HIST2_DAY. " Füge neue Analyse an
178
MOVE-CORRESPONDING HIST2_DAY TO HIST2.
179
APPEND HIST2.
180
ENDLOOP.
181
ADD 1 TO LOGBUCH-ANZDAYS.
182
MOVE DATE TO LOGBUCH-LASTDAY.
Contents of system fields
Name
Val.
SY-SUBRC
0
SY-INDEX
0
SY-TABIX
1
SY-DBCNT
0
SY-FDPOS
0
SY-LSIND
0
SY-PAGNO
0
SY-LINNO
1
SY-COLNO
1
SY-PFKEY
SY-UCOMM
SY-TITLE
SY-MSGTY
SY-MSGID
SY-MSGNO
000
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
SY-MODNO
0
SY-DATUM
20071224
SY-UZEIT
070256
SY-XPROG
SAPMSSY0
SY-XFORM
NEW-LINE
Active Calls/Events
No. Ty. Program Include Line
Name
2 FORM RSORAT4M RSORAT4M 163
AKT_DAY_HIST2
1 EVENT RSORAT4M RSORAT4M 73
END-OF-SELECTION
Chosen variables
Name
Val.
No. 2 Ty. FORM
Name AKT_DAY_HIST2
SCREEN
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
%_DUMMY$$
0000
0000
2222
0000
MONIKEY
--UBD days h/2
0000000000000000000000
0000000000000000000000
2254422222667722226232
DD52400000419300008F20
MONI
DB--UBD days h/2 ## ##################################################################
00000000000000000000000000000F0083300C019880423CCCCBA185073210552E8C0334266086A470B60061642777
00000000000000000000000000000F1204000802DCF80B619C242588C81881810C0A70020645DC07BF1AFE070ECE1C
4422544222226677222262320022800003300001090100EE1161721CA580CAFEA65BC607333BC23214789666B6D8BC
42DD52400000419300008F20000076120120000F291C430000062325261E520B6388C203600303CA0830014245D093
MONI-CLUSTR
8912646
08
07
OBJ3
0000000000000000000000000000000
0000000000000000000000000000000
2222222222222222222222222222222
0000000000000000000000000000000
OBJ4[]
Table[initial]
HIST2[]
Table[initial]
SY-SUBRC
0
0000
0000
HIST2
00000000000000######################
000000000000000000000000000000000000
000000000000000000000000000000000000
333333333333330000000000000000000000
00000000000000000C000C000000000C000C
S2
0
0
2
0
KBYTES
0.0.0.0.0.0.0.1.
00000000
0000000C
No. 1 Ty. EVENT
Name END-OF-SELECTION
TSN
000000000000000
000000000000000
222222222222222
000000000000000
TYP
00000000000000000
00000000000000000
22222222222222222
00000000000000000
S3
0
0
2
0
LOGBUCH-LASTDAY
20070315
00000000
00000000
33333333
20070315
DATE
20071224
00000000
00000000
33333333
20071224
SY-REPID
RSORAT4M
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
5545453422222222222222222222222222222222
23F2144D00000000000000000000000000000000
S5
0
0
2
0
S7
0
0
2
0
ROOT
000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000
222222222222222222222222222222222222222222222222222222222222222222222222222222222
000000000000000000000000000000000000000000000000000000000000000000000000000000000
SEG_TYPE
00000000000000000
00000000000000000
22222222222222222
00000000000000000
S4
0
0
2
0
Internal notes
The termination was triggered in function "CheckSimpleComponent"
of the SAP kernel, in line 1183 of the module
"//bas/700_REL/src/krn/runt/abconne.c#16".
The internal operation just processed is "IMPO".
Internal mode was started at 20071224070256.
Active Calls in SAP Kernel
Lines of C Stack in Kernel (Structure Differs on Each Platform)
DoStack2 ( 0x105c65dc0, 0xffffffff7fff9900, 0x1004ffecc, 0x0, 0x20, 0x10315f010 ), at 0x1004ff
CTrcStack2 ( 0x105c65dc0, 0x0, 0x18800, 0x1031a4d20, 0x100b21370, 0x10315f010 ), at 0x1004ffa6
__1cQrabax_CStackSave6F_v_ ( 0x103385400, 0x3385400, 0x103a0e490, 0x1021a9af0, 0x100000000, 0x
ab_rabax ( 0x100000000, 0x31a4c00, 0x103a0d000, 0x3a0d000, 0x2000, 0x0 ), at 0x100b21370
__1cUCheckSimpleComponent6FkpnICONNE_RD_kpnQDESCRIPTION_CNTL_kCkL6kpknHAB_DATA_kI9D9D_i_ ( 0xf
__1cRConneCmpCheckList6FkpnICONNE_RD_kpnQDESCRIPTION_CNTL_kppnMImportOpHead_kLpknHAB_DATA_kpk9
__1cNConneCmpCheck6FkpnICONNE_RD_pknHAB_DATA_kpnQDESCRIPTION_CNTL_ppnMImportOpHead_kLkpLII_i_
__1cMimport_check6FpnICONNE_RD_ppnMImportOpHead_kpCC_i_ ( 0xffffffff7fffa9a8, 0xffffffff7fffbb
__1cLab_connread6FIpnLIMPORT_INFO_kpkHpnHAB_DATA_pFpHLp6ppv_ipFppCpLInJEXPO_MODE__i_i_ ( 0xfff
__1cLexpo_import6F_v_ ( 0x0, 0xfffffffe324a90a4, 0xfffffffe324a90ac, 0x105be9e84, 0x0, 0x105ce
__1cIab_jimpo6F_v_ ( 0x100000000, 0x5c66400, 0x1, 0x0, 0x0, 0x94 ), at 0x1009d7f64
__1cIab_extri6F_i_ ( 0x100000000, 0x5cea400, 0x230, 0x1, 0x0, 0x46 ), at 0x1006f9298
__1cJab_xevent6FpkH_i_ ( 0xfffffffe324a9fe8, 0xfffffffe324a7398, 0x2ac, 0x0, 0x4c, 0x105c6648
__1cIab_trigg6F_i_ ( 0x105bea340, 0x105c69588, 0x10093cc48, 0x20, 0x215fc00, 0x0 ), at 0x1009
ab_run ( 0x1062f8288, 0x105c69000, 0x1021b23fc, 0x0, 0x105c6647c, 0x0 ), at 0x100b9346c
dynpmcal ( 0x106305708, 0x6, 0xc, 0x1035867c8, 0x100589628, 0x1031a4d14 ), at 0x100581e1c
dynppai0 ( 0x106305708, 0x106306d14, 0x0, 0x1031a4d78, 0x0, 0x105c86004 ), at 0x10057f120
dynprctl ( 0x106305708, 0x0, 0x103199024, 0x1300, 0x1, 0x128c ), at 0x10057d764
dynpen00 ( 0x0, 0x106305708, 0x106305708, 0x0, 0x106305708, 0x102a5fc00 ), at 0x100579c64
TskhLoop ( 0x0, 0xb, 0xffffffff6f408530, 0x0, 0x100288854, 0x0 ), at 0x10028f248
ThStart ( 0x1, 0x280800, 0x100280800, 0x100000000, 0x1, 0x10319a0c0 ), at 0x1002815f4
DpMain ( 0x37e6800, 0x3197400, 0x100000000, 0x1, 0x0, 0x0 ), at 0x1001b2e8c
List of ABAP programs affected
Index
Typ
Program
Group
Date
Time
Size
Lang.
0
Prg
RSORAT4M
0
21.03.2007
19:50:50
98304
E
1
Prg
SAPMSSY0
1
21.03.2007
19:51:33
90112
E
2
Prg
SAPMSSYD
1
21.03.2007
19:51:17
21504
E
3
Prg
SAPFSYSCALLS
1
09.09.2004
14:18:32
11264
E
4
Prg
RSDBRUNT
0
21.03.2007
19:50:43
254976
E
5
Typ
RSSCR
0
30.03.2005
10:21:45
5120
6
Prg
RSDBSPBL
0
30.03.2005
10:21:58
72704
E
7
Prg
SAPDB__S
0
30.03.2005
10:22:01
19456
E
8
Prg
RSDBSPMC
0
21.03.2007
19:28:01
79872
E
9
Typ
DDSHDESCR
0
03.09.1997
03:05:16
4096
10
Typ
SPPARAMS
0
07.05.1997
13:10:38
2048
11
Typ
SPPARAMS
0
07.05.1997
13:10:38
2048
12
Prg
SAPLSABE
12
09.09.2004
14:18:36
13312
E
13
Prg
SAPLSECU
13
27.03.2007
17:41:57
87040
E
14
Typ
RSSUBINFO
0
14.10.1999
22:01:03
3072
15
Prg
SAPLSTUP
15
08.03.2005
19:04:31
74752
E
16
Prg
SAPLCNDP
16
21.03.2007
16:17:37
193536
E
17
Prg
SAPLSCNT
17
18.02.2005
14:16:06
30720
E
18
Prg
SAPSHDTV
17
05.01.2005
16:26:16
36864
E
19
Prg
SAPFGUICNTL
1
18.02.2005
14:15:08
24576
E
20
Prg
SAPLOLEA
20
05.07.2005
13:10:18
96256
E
21
Prg
SAPLSGUI
21
21.03.2007
19:51:33
82944
E
22
Prg
SAPLSTTM
22
05.07.2005
13:10:18
69632
E
23
Prg
SAPLSBDC
23
05.07.2005
13:10:18
44032
E
24
Prg
SAPLSFES
24
27.03.2007
17:42:13
257024
E
25
Prg
SAPLTHFB
25
27.03.2007
17:38:01
392192
E
26
Typ
WPINFO
0
26.02.1999
14:49:01
6144
27
Prg
SAPLURFC
27
15.06.2005
11:39:01
22528
E
28
Prg
SAPLSPLUGIN
28
09.09.2004
14:18:36
8192
E
29
Typ
SWCBCONT
0
15.11.2000
17:55:11
3072
30
Typ
OLE_VERBS
0
04.04.1995
16:02:20
2048
31
Typ
OLE_PA
0
04.04.1995
16:02:19
2048
32
Typ
MONI
0
31.03.2004
16:41:21
5120
33
Prg
CX_SY_IMPORT_MISMATCH_ERROR===CP
33
05.07.2005
13:10:16
10240
E
34
Typ
SCX_SRCPOS
0
18.05.2004
14:07:11
2048
35
Prg
CX_DYNAMIC_CHECK==============CP
35
05.07.2005
13:10:16
10240
E
36
Prg
CX_ROOT=======================CP
36
05.07.2005
13:10:16
11264
E
37
Prg
CX_NO_CHECK===================CP
37
05.07.2005
13:10:16
10240
E
38
Prg
CX_SY_NO_HANDLER==============CP
38
05.07.2005
13:10:16
10240
E
39
Typ
SYST
0
09.09.2004
14:18:12
31744
Directory of Application Tables
Name Date Time Lngth
Val.
Program RSORAT4M
SYST 09.09.2004 14:18:12 00004612
00000x00010000000000000000000
MONI . . : : 00002944
DB--UBD days h/2 00 x0087######00#0####
ABAP Control Blocks (CONT)
Index
Name
Fl
PAR0
PAR1
PAR2
PAR3
PAR4
PAR5
PAR6
Source Code
Line
1841
BRAX
01
FFF2
RSORAT4M
157
1842
comp
00
0242
C000
00A2
RSORAT4M
158
1844
BRAF
05
0005
RSORAT4M
158
1845
ccqi
4C
0000
0000
2610
0001
0000
0000
2610
RSORAT4M
158
1849
ENDF
00
0000
RSORAT4M
159
1850
00
0000
RSORAT4M
159
1851
PERP
00
0000
RSORAT4M
161
1852
perf
00
000C
RSORAT4M
162
1853
PERP
80
0001
RSORAT4M
162
1854
PERP
80
00CC
RSORAT4M
162
1855
IMPO
00
0001
007B
007A
010C
0000
00EA
0000
RSORAT4M
163
1859
PAR2
06
0000
00EB
009B
RSORAT4M
163
>>>>>
IMPO
07
0000
0000
0000
0000
0000
0000
0000
RSORAT4M
163
1865
cmpr
00
00CA
00F8
0000
RSORAT4M
164
1867
BRAF
05
0016
RSORAT4M
164
1868
REFR
00
0000
009B
0000
RSORAT4M
165
1870
CLEA
00
009C
RSORAT4M
165
1871
perf
00
0035
RSORAT4M
166
1872
PERP
80
0001
RSORAT4M
166
1873
PERP
80
0006
RSORAT4M
166Hi,
Please apply the following correction manually.
1. Go to transaction ST03N
2. Change user from 'Administrator' to 'Expert Mode'.
3. Go to Collector and performance analysis -> Performance database
-> Monitoring database -> Contents
4. Search where further info contains the string "h/2"
like the following monikeys:
- 'days h/2'
- 'weeks h/2'
- 'months h/2'
5. Double click on each, so that they become red and show ** delete
6. Finally SAVE
This will remove the corresponding database related history up to the deletion date. It will accumulate anew afterwards.
How can I identify the monikey that has to be deleted?
When you load the text of the dump and then jump off to the break point of the debugger you may find the error break point look like:
"IMPORT HIST2 FROM DATABASE MONI(DB) ID MONIKEY".
To find the right monikey entry causing the dump you can search for the word 'MONIKEY' within the text of the dump. This can be 'days h/3' or
'tabgrowth 2'...
You can then go back to the procedure above and search where further info contains the monikey that you found in the text of the dump.
997535 DB02: Problems with History Data.
Award points if helpful.
Thanks,
Tanuj -
Warning on use of the 'subtable' keyword
I have previously given advice on this list about the use of the "subtable" keyword which could lead to kern pairs being unavailable. If you have used this keyword, please review the following.
Background.
Class pairs in a kern feature are compiled as a lookup with a single subtable. The representation of the class pairs for a subtable looks like a big Excel spreadsheet, with all the left side pairs as the titles of the rows, and all the right-side pairs as the titles of the columns, and the kern pair values in the fields. As a result, every left side pair you name is kerned against every right side pair you name. Obviously, most of the fields are 0; there are non-zero values only where you specified a class pair kern value. Less obviously, all glyphs not named in a right side class are automatically assigned to right side class 0. This means that every left side class in the subtable is kerned against every glyph in the font ( with most of the kern values being 0).
If you have a lot of left and right side class pairs, this subtable can get so large some of the offset values in the compiled lookup exceed the limit of 64K, and the lookup can't be built. The 'subtable' keyword is provided to help with this problem. It forces the class pair lookup to start a new subtable at the point where you put the 'subtable' keyword. If you have any degree of order in your class kern pair definitions, each of the subtables will then have fewer left and right classes, and the overall size of the lookup is smaller.
My advice on using this keyword is:
a) use it only if you have to because of a size oveflow problem, and
b) there is not much use in trying to be smart about where you put it; it is usually simplest to put the first keyword more or less in the middle of the list of the class kern pairs. If this does not shrink the kern lookup enough, then put another 'subtable' keyword in the middle of each half of the class kern pair list, and so on.
However, I omitted an important warning:
c) any left side class can be used only within a single subtable.
This is because each left side class in a subtable is by definition kerned against every right side class, and hence every glyph in the font because of class 0. It follows that a program looking for a kern pair will never look past the first subtable with a left side class containing the left side glyph. Moral: any left side class can be used only within a single subtable. If you put kern class pairs with that left side class in a subsequent subtable ( e.g; after a subtable break), those kern class pairs will never be seen by any program.
My thanks to Karsten Luecke, whose struggle with an exanple of this problem showed that my previous advice on this list was incomplete.You say you're extending JTable but I see no hint of that.
public class SpecialisedJTable extends JTable
public SpecialisedJTable(TableModel model)
super(model);
public SpecialisedJTable()
super();
} -
How Do I Sort a Group of Photos on the Same Page with the same Keyword Tag?
I want to group similar photos on the same page with the same keyword tag. I have tried dragging and dropping without any success. Can anyone help?
Create an album, then search using a keyword. Select all the photos produced by the search and drag them into the album.
You can drag photos into any order in Albums and they remain in your chosen order.
-
PDF version of the ABAP keyword documentation
hi all,
can any1 please help me to find the PDF version of the ABAP keyword documentation??.......i have the HTML version downloaded from the TC ABAPDOCU.....but i prefer the PDF version...so please help out in this regard.................if any1 having that please mail a copy to [email protected]...thanx in advanceHi,
start <a href="http://help.sap.com/printdocu/core/Print46c/en/Data/htm/english.htm">here</a> and navigate to: Basis Components - ABAP Programming and Runtime Environment (BC-ABA) - ABAP Programming (BC-ABA)
Save the PDF.
Beware it's 1400+ pages...
Peter -
What is the use of the this keyword:
import java.util.*;
public abstract class LegalEntity implements HasAddress{
private String address;
private String area;
private String registrationDate;
private ArrayList accounts;
public LegalEntity()
accounts = new ArrayList();
public void addAddress(String address){this.address = address;}
public String getAddress(){return address;}
public void addAccount(Account account)
accounts.add(account);
public ArrayList returnAccounts()
return accounts;
}This can be used when there are lots of static functions and you want to be sure you are invoking the current objects methods/members.
-
Hi all , I want to know about
1.the usage of an abstract keyword.
2.Difference between abstract and interface
3.When to use abstract keyword.Hi all , I want to know about Give it a try yourself first, post it here and you get feedback.
-
ByteBuffer: how come the abstract methods work?
I am confused about the abstract methods in ByteBuffer class. Many of the methods in that class are declared abstract but yet I am able to use them without a problem.
For example, put(byte b) is declared abstract in the java docs. But I am able to use that method ( I did not have to extend ByteBuffer and implement this method). I know I must be missing something here...any help would be appreciated.
thanksThose responses should certainly do the trick. But I love hearing myself type, so here's an example:abstract class Fred
public abstract void hiThere();
class SubFred extends Fred
public void hiThere() { println("Greetings Professor Falken"); }
}Somewhere some method says it returns an object of type Fred. To do this they might (as far as you know) create an instance of SubFred and return that to you. SubFred is of type Fred. Your code doesn't know or care (usually) what the ACTUAL class is, as long as it matches what you expect Fred to be from the documentation. -
Querstion regarding the "this" keyword
hi everyone,
i've doubt regarding the usage of this keyword in the inner classes & static methods. like the following:
class A {
int val1 = 0;
int val2 = 0;
A() {
B b = new B();
C c = new C();
for(int i=1; i < 11; i++) {
b.add(i);
c.add(i);
System.out.println("Val 1 : " + val1);
System.out.println("Val 2 : " + val2);
public static void main(String args[]) {
new A();
class B {
public void add(int val) {
// the this keyword is used as static variable
A.this.val1 += val;
static class C {
public void add(int val) {
// the "this" keyword cannot be used
//A.this.val2 += val;
}the code doesn't matter what its meant for, i wrote code to explain u my doubt with example.
so any explanation from ur side, i'm not clear with the this keyword usage.
thanxI am in agreement with trinta, although I think your doubt arises from a lack of understanding of inner classes, not from the use of 'this'. You seem very adept in the use of 'this'.
Realise that there are 4 categories of nested classes:
1> Top-level or static nested classes
These are declared by the static keyword (as in class C in your example). They can be instantiated with or without an instance of the containing class. i.e. using the class names from your example.
C c = new A.C();
or
C c = new instanceOfA.C();
Since a static nested class does not require an instance of a class, there is no use of the 'this' keyword. There may not be any instance created, if if there was, which one since you don't have to specify which when creating it (see first example code above).
2> Member Inner Classes
As in class B in your example. The name should indicate that we think about these classes as members, or part of, the containing instance. Use these classes when it makes no sense for the inner class to exist outside the containing class. Usually these inner classes are designed to be helper classes and often hidden from view. When they aren't, the only way to create new instances of them is through an actual instance of the containing class. i.e. using the class names from your example,
B b = new instanceOfA.B();
Note that this code
B b = new A.B();
will yield an error. There must be an associated containing class.
For this reason, the use of 'this' is only appropriate for member classes.
3> Local Inner Classes
4> Anonymous Inner Classes
Not really relevant to this question. -
What does the this keyword do?
i don't really understand this code very well, can anyone give me a link or a little explanation that would help me with it? I'm not sure what the this keyword does, and the toString method is puzzling as well.
thanks.
public class Friend
protected String name;
protected String telephone;
protected Friend next;
static Friend list;
public static void print() {
Friend friend = list;
if(friend == null) System.out.println("The list is empty.");
else do {
System.out.println(friend);
friend = friend.next;
} while (friend != null);
public Friend(String name, String telephone)
this.name = name;
this.telephone = telephone;
this.next = list;
list = this;
public String toString()
return new String(name+":\t"+telephone);
class TestFriend
public static void main(String args[])
Friend.print();
new Friend("Anita Murray", "388-1095");
new Friend("Bill Ross", "283-9104");
new Friend("Nat Withers", "217-5912");
Friend.print();
}about the code in post 1, is there any other code
that could replace what's inside the friend method
but would still print the same output?
for example could i replace "this.name = name;" etc
with anything else?In the context of that constructor, there are two name variables--the parameter and the member variable. The parameter is what was passed into the c'tor, and the member varaible is part of the state of the current object--the object being initialized.
So, when we just say "name", it means the parameter, and if we want to refer to the name variable that's part of the object, then we say "this.name"--that is, the name varaible belonging to "this" object (the "current" object).
If there were no local variable or parameter called "name", then instead of "this.name" we could just say "name" to refer to the current object's name variable, because there would be no ambiguity. -
i have one of the old macbooks and wish to hook it up to my tv. do i need a mini dvi to hdmi adapter plus a 3 rca phono lead with a jack for the sound. please help as im useless at this stuff. cheers
First we need to know which one of the 9 different models of MacBook you have. To see which model you have go to the Apple in the upper left corner and select About This Mac, then click on More Info (and then System Report if you’re running 10.7 Lion). When System Profiler comes up check the Model Identifier and post it back here.
The Late 2008 model 5,1 Aluminum Unibody and the Late 2009 model 6,1 and Mid 2010 model 7,1 White Unibody have a Mini DisplayPort. The Early 2006 model 1,1 through Early 2008 model 4,1s plus the Early and Mid 2009 model 5,2s have Mini-DVI ports. Each would take a different adapter to connect with the TV. -
I copied a lot of photos from an iphone to a DVD using a Windows 7 laptop, now I cannot access those photos on the DVD. HELP! In Windows Exlporer I can see the data on the disk in the details but when I click on it nothing appears as if there is nothing on it.
It should. So they aren't shown in the Last Import smart album, right? Try the following:
1 - launch iPhoto with the Command+Option keys held down and rebuild the library.
2 - Run Option #4, Rebuild Database, followed by Option #1 if needed.
OT -
My iPad shows a message "Cannot find AirPrint printer". I used to use my iPad to print materials using HP wireless printer D110. Now it does not want to print. Is this because I am now using IOS 7? What should I do to solve the problem? Help please.
Restart your WiFi router and printer by removing power for 30 seconds.
Maybe you are looking for
-
Exchange Server 2007 SP3 Meeting "Add Rooms" Resources
Exchange 2007 SP3 on Server 2003 - We have a number of meeting rooms setup and recently an issue has come up. Users are being asked to authenticate or the error "The address list cannot be displayed. The connection to Microsoft Exchange is unavaila
-
How to insert a non-breaking space in a reference page?
Hello all, Is it possible to insert a non-breaking space in a reference page? I want to control the TOC numbering so that page numbers don't break at the hyphen: In my reference page, I have the following TOC definition: <$paratext> <$chapnum>-<$page
-
Failed iOS update. Phone stuck- please help
I was FINALLY doing the update that needed to be done for all iPhone and iPod/iPad. It is telling me that my phone is is "recovery mode" and will need to be restored in order to use iTunes. I no longer care about the update, I just want my phone ba
-
Obtaining the state of a switch
Hello, I've got 3 nested loops: While-Case-While If the user hits a front button, the case statement returns true and the inner while loop gets executed. Now, what should I do to exit the inner while loop in case the user hits the same button again?
-
Here maps is not working on lumia 520
I've tried opening it several times but it don't even open.