Use of instanceof in java
can any one tell me the use of instanceof keyword in java
.and how it is used.
and were it is used
reply me
regerd
saravana
Okay, understood.
However, I'm receiving a ClassCastException "unexpectedly".
Definitions:
public interface MyInterface { // definition }
public class MyAbstractSuperClass implements MyInterface { // definition }
public class MySubClass extends MyAbstractSuperClass { // definition }
public class ProvidingClass {
* Returns instance of MyInterface.
public MyInterface getMyInterfaceObj(Class className) {
return myInterfaceObj;
}This code ...
Code A:
MySubClass mySubClassObj = (MySubClass)ProvidingClass.getMyInterfaceObj(MySubClass.class);... throws a ClassCastException.
Consider the following code based on the same definitions above.
Code B:
MyInterface myInterfaceObj = ProvidingClass.getMyInterfaceObj(MySubClass.class);
if (myInterfaceObj instanceof MySubClass) {
// Do stuff
else {
System.out.println("Found class: " + myInterfaceObj.getClass().getCanonicalName());
Result:
... I get the following:
"Found class: fully.qualified.package.name.MySubClass"
Question:
Why do I receive a ClassCastException in Code A when the class that is returned in Code B indicates (through getCanonicalName() ) that it is of the type that I am trying to cast it to?
What would cause such an exception?
Thank you for your help!
- KFM
Edited by: jackstr66 on Nov 1, 2007 12:09 PM
Edited by: jackstr66 on Nov 1, 2007 12:10 PM
Similar Messages
-
How to use excel api in java?
I need to use excel api in Java to generate data in excel format. Can any one tell any of the use ful Excel api that we can down load from net? i have read about Apache's POi-hssf-Java api. But the jar i downloaaded from Apache site is not working ? Can anybody please send me the jar for taht Api ?
Hi,
In fact i was not clear about whcih jar file to download from the apache site. i found one folder structure like this
-parent
-bin
-src
All these folders contained some zip files. i took the zip files and extracted them. And i set teh class path also . But when i tried to import in java programs ,these jar files are giving compilation errors -
Unable to Print Purchase order automatically using SAP GUI for JAVA
Hi SAP gurus,
Some of the PC's in our company use windows and some LINUX. Therefore we use two types of SAP GUI. One for windows and the other one JAVA. PO approval was set to print automatically. In a windows setting, there are no problems with this setup. But in SAP GUI for JAVA, no print outs are produced and no error messages are displayed. I am using SAP GUI for JAVA version 7.10 ver 6. and I use Front end printing for linux access method G.
please help,
gungertzhi gungertz,
You can use U type access method for printing SAP document using linux desktop.
Please refer to my blog posting here (http://sapbasis.wordpress.com/2007/08/23/print-sap-documents-using-linux/)
ardhian
http://ardhian.kioslinux.com
http://sapbasis.wordpress.com -
Using Oracle Berkeley DB Java Edition RELEASE 3.2
Hi,
I am completely new to Oracle. I intend to use Oracle Berkeley DB Java Edition RELEASE 3.2., in conjunction with Java.
Can some one help me figure out what documentation I should use, and the learning path ?
Any suggestions would be greatly appreciated.
Thanks
Ravi Banthia
KolkataPlease refer
http://www.oracle.com/technology/products/berkeley-db/je/index.html -
Can I Design a Forum with using web dynpro for java?
Hi All:
Can i design a forum with using web dynpro for java?
I want to design an application like a simple forum which maybe has many replies.So if i use
the UI technology "web dynpro for java", i will to create UI elements dynamically.How can i control this
dynamical UI elements to keep layout ?Hi,
yes you can do that....
for exaple if you observe SDN...
you can imagine like....
A big Transparent Container(TC)....
Inside that number of other TCs(depending upon the question nd its replies...)....
In side each TC, again around 9 UIElements....
one for menioning what is the question/reply?
other for your description of question/reply...
other for your name,
displaing your fourm point... etc...
So it will be
for(loop till your (Question+No of replies))
Create Transparent Container....
Add Childs to the Container...
Decide your layout....
In case if you want to know how to create UIElements dynamically....
http://help.sap.com/saphelp_nw04/helpdata/en/4f/07cf3dd28b5610e10000000a114084/frameset.htm
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/wdjava/dynamic%2bui%2bgeneration
Regards,
Srinivas.
Regards,
Srinivas. -
Commenting a Line in ABAP Editor when using SAP GUI for java
Hi,
In ABAP editor we can highlight the line which are to be comment and use cmd+< sign to comment those lines. What will be the command to be used to achieve the same functionality when using SAP GUI for JAVA on an iMac.Hello Kedar,
please check with SAP GUI for Java 7.20 rev 5 before submitting a bug report.
Also please verify, that cmd-< and cmd-> are not assigned as "Keyboard Shortcuts" in the "Keyboard" control panel of "System Preferences".
Bug reports can be submitted with the [SAP Message Wizard|http://service.sap.com/message], for SAP GUI for Java please use component BC-FES-JAV.
Best regards
Rolf-Martin -
How to use host variable in Java?
How do I use host variable in java? I am getting SQL code of -404 and description of SQL code is The UPDATE or INSERT statement specifies a String that is too long column-name SQLSTATE=22001. Below is my code:
* i n s e r t M e s s a g e
* insertMessage: This method will retrive detail message and other fields for
* selected item from screen1.
public final Collection insertMessage(String businessId,String messageNumber,String messageType,
String messageTitle,String printStyle,String statusIndicator,
String approverId,String lastUpdateId,String longMessage) {
MessageTransport msi = new MessageTransport();
PreparedStatement ps = null;
Connection connection = null;
MessageTransport msi1 = new MessageTransport();
PreparedStatement ps1 = null;
Connection connection1 = null;
ArrayList list = new ArrayList();
try {
if (businessId != null) {
businessId = businessId.trim();
if (messageNumber != null) {
messageNumber = messageNumber.trim();
if (messageType != null) {
messageType = messageType.trim();
if (messageTitle != null) {
messageTitle = messageTitle.trim();
if (printStyle != null) {
printStyle = printStyle.trim();
if (statusIndicator != null) {
statusIndicator = statusIndicator.trim();
if (approverId != null) {
approverId = approverId.trim();
if (lastUpdateId != null) {
lastUpdateId = lastUpdateId.trim();
if (longMessage != null) {
longMessage = longMessage.trim();
int len = longMessage.length();
if (len > 254) {
int constant = 254;
int k = len % constant; //k will hold value that has number of loops including initial insert.
k = k - 1; //this is for total number of loop.
int j = len / constant; //this will have remainder if any to insert rest of longmessage.
System.out.println("Display remainder: " + k);
System.out.println("Display divisible: " + j);
System.out.println("Display Length of longMessage: " + len);
StringBuffer sql = new StringBuffer();
sql.append("INSERT INTO " + MESSAGE_TBL + " ( MT_BUS_ID,MT_MSG_NBR,MT_MSG_TYPE,MT_MSG_TITLE,MT_PRINT_STYLE,MT_APV_STATUS,MT_APV_ID,MT_APV_DT,MT_APV_TM,MT_LAST_UPDATE_ID,MT_LAST_UPDATE_DT,MT_LAST_UPDATE_TM,MT_MSG_TXT ) VALUES ");
sql.append("(");
sql.append("'");
sql.append(businessId).append("'");
sql.append(",").append(messageNumber);
sql.append(",").append("'I'");
sql.append(",").append("'").append(messageTitle).append("'");
sql.append(",").append("'").append(printStyle).append("'");
sql.append(",").append("'P'");
sql.append(",").append("' '");
sql.append(",").append("CURRENT DATE");
sql.append(",").append("CURRENT TIME");
sql.append(",").append("'").append(lastUpdateId).append("'");
sql.append(",").append("CURRENT DATE");
sql.append(",").append("CURRENT TIME");
sql.append(",").append("'").append(longMessage).append("'");
sql.append(")");
System.out.println("Display SQL Statement: " + sql);
connection = DriverManager.getConnection(DATABASE_URI, USER, PASS);
ps = connection.prepareStatement(sql.toString());
ps.executeUpdate();
System.out.println("Refreshed Record: ");
catch (SQLException sqle) {
System.out.println("SQLException: "+ sqle + ". SQLSTATE=" + sqle.getSQLState()+" SQLCODE=" + sqle.getErrorCode());
finally {
if (ps != null) {
try {
ps.close();
ps=null;
catch (Exception e) {}
if (ps1 != null) {
try {
ps1.close();
ps1=null;
catch (Exception e) {}
if (connection != null) {
try {
connection.close();
connection = null;
catch (Exception e) {}
if (connection1 != null) {
try {
connection1.close();
connection1 = null;
catch (Exception e) {}
return list;
if my longMessage is smaller like one line then everything works fine, but as soon as my longMessage if greater than 254 it starts giving me -404. How do I work around or Is there any way to use host variable in Java?
All kind of help is appreciated. Any question then please email me at [email protected].
Thank you.This is what you got to do to insert a larger value.
//Assuming that message length is less than 254+ 254 characters.
//If larger then run the update loop that many times.
String longMessage = "Blah blah ... ";
String firstPart = "";
String secondPart = "";
int messageLength = longMessage.length();
if (messageLength > 254)
try
firstPart = longMessage.subString(0, 253);
secondPart = longMessage.subString(254, message);
catch (IndexOutOfBoundsException e)
//In the first insert set the first 254 characters
ps.setString(1, firstPart);
int result = ps.executeUpdate();
if (result != 0)
System.out.println("Insert sucessful ");
if (messageLength > 254)
//now update with the second part.
static String UPDATE_SECOND_PART = UPDATE my.table SET LONG_COL = LONG_COL || ? WHERE KEY_COL = ?;
ps2 = connection.getPreparedStatement(UPDATE_SECOND_PART);
ps2.setString(1, secondPart);
ps2.setString(2, businessId); //assuming that businessId is the primary key.
int result2 = ps2.executeUpdate();
if (result2 != 0)
System.out.println("Update sucessful ");
else
System.out.println("Update failed ");
else
System.out.println("Insert failed ");
}Hope this helps. -
How to use sql query in java ?
i don't know how to use sql query in java code.
who can give me some advice?
thankshttp://java.sun.com/developer/onlineTraining/Database/JDBC20Intro/
-
How can i use Unix database in java?
How can i use Unix database in Java?
Message was edited by:
JProI have not a clue about FoxPro, but the db then is FoxPro and not Unix. The better question would be "How do I connect to FoxPro DB running on Unix with JDBC?".
My answer to that would be, search the Internet for a JDBC driver. -
How to use Thread.sleep() with Java Berkeley Base API?
Hi,
I have explained the weird problem about the server was too busy to response to SSH but it continued to finish to run (Server not response when inserting millions of records using Java Base API
Even I tried to increase CachSize and renice Java program, but it did not work. So, I am thinking to set sleeping time for threads in Java Berkeley Base API (using “ps” command, there were 18 light weight processes created). My program did not implement transaction or concurrency because it simply creates (millions) databases records only. Is it possible and correct to do like this in the code:
try{
//do create a db record
Thread.currentThread().sleep(1000);//sleep for 1000 ms
catch(ItrerruptedException ie){
Thank you for your kindly suggestion.
Nattiyawhere can I get the help doc about use AT commands in java.
Can you give me some code example about this. It is
difficulty to me to write it myself.You simply have to send the characters and receive the characters via the comm extension. Here is the ITU standard command set - http://ridge.trideja.com/wireless/atcommands/v250.pdf. Various modems and other devices extend this in a number of ways, you may need to find documentation specific to your device as well. But start with the standard. -
Using .ocx file in java
hi
i have a ocx file and i want to call the functions in this ocx file from java.
can anyone help me in using ocx functions in java program
thanking youget freeware API (njawin11.zip) at http://simtel.net/pub/winnt/java/
-
Parsing an XML using DOM parser in Java in Recursive fashion
I need to parse an XML using DOM parser in Java. New tags can be added to the XML in future. Code should be written in such a way that even with new tags added there should not be any code change. I felt that parsing the XML recursively can solve this problem. Can any one please share sample Java code that parses XML recursively. Thanks in Advance.
Actually, if you are planning to use DOM then you will be doing that task after you parse the data. But anyway, have you read any tutorials or books about how to process XML in Java? If not, my suggestion would be to start by doing that. You cannot learn that by fishing on forums. Try this one for example:
http://www.cafeconleche.org/books/xmljava/chapters/index.html -
Parsing xml using DOM parser in java
hi there!!!
i don have much idea about parsing xml.. i have an xml file which consists of details regarding indentation and spacing standards of C lang.. i need to read the file using DOM parser in java n store each of the attributes n elements in some data structure in java..
need help as soon as possible!!!DOM is the easiest way to parse XML document, google for JDOM example it is very easy to implement.
you need to know what is attribute, what is text content and what is Value in XML then easily you can parse your document with dom (watch for space[text#] in your XML document when you parse it).
you get root node then nodelist of childs for root then go further inside, it is easy believe me. -
How to use the build-in Java parser
Hi All,
I want do use the build-in Java parser. Is this possible? For example I have the following code:
package ch.fhnw;
import javax.tools.*;
public class JavacExample {
* @param args
public static void main(String[] args) {
JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
String arguments = "./src/ch/fhnw/JavacExample.java";
int rc = javac.run(null , null, null, "-verbose", arguments);
System.out.println("Return value: " + rc);
}After parsing, it would be great to have an object or similar which contains the methods, arguments used by the methods, etc. The target is to extract method declarations from java files. Is there a simple way to do it without defining my own EBNF like in JavaCC? Or any other way?
Thank you for your help.
kind regards,
wolfgangYep. bootstrap your knowledge here
[http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html]
[http://forum.java.sun.com/forum.jspa?forumID=514]
Bruce -
How to use XSLT processor in java to get xml
hi friends,
i have raw xml and xsl files as input to xsltprocessor which should give xml as output.
my raw xml and xsl looks like this:-
name_space.xml:-
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='ID' rs:number='1' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='CODE' rs:number='2' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='NAME' rs:number='3' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='255'/>
</s:AttributeType>
<s:AttributeType name='SOURCE' rs:number='4' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='10'/>
</s:AttributeType>
<s:AttributeType name='IDENT' rs:number='5' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='128'/>
</s:AttributeType>
<s:AttributeType name='OBS_LEVEL' rs:number='6' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='ATA_CODE' rs:number='7' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='12'/>
</s:AttributeType>
<s:AttributeType name='SCORE' rs:number='8' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='HAS_EFF_NOTE' rs:number='9' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='ui1' dt:maxLength='1' rs:precision='3'
rs:fixedlength='true'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row ID='1018' CODE='OBSV' NAME='ALT BRK - LOSS OF THE PEDAL ARTIFICIAL FEEL ON THE RIGHT SIDE'
SOURCE='' IDENT='' OBS_LEVEL='' ATA_CODE='32-43' SCORE='1'
HAS_EFF_NOTE='0'/>
<z:row ID='1017' CODE='OBSV' NAME='ALT BRK - LOSS OF THE PEDAL ARTIFICIAL FEEL ON THE LEFT SIDE'
SOURCE='' IDENT='' OBS_LEVEL='' ATA_CODE='32-43' SCORE='1'
HAS_EFF_NOTE='0'/>
<z:row ID='100' CODE='LOCAL' NAME='ACCU PRESS DROPS VERY QUICKLY PARKING BRAKE OFF'
SOURCE='' IDENT='' OBS_LEVEL='INDICATOR(S)' ATA_CODE='32-44'
SCORE='1' HAS_EFF_NOTE='0'/>
</rs:data>
</xml>
and my XSL File:-
<?xml version="1.0" encoding="UTF-8" ?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" exclude-result-prefixes="rs z">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes" />
- <xsl:template match="//xml/rs:data">
- <Entities Count="{count(z:row)}">
<xsl:apply-templates select="z:row" />
</Entities>
</xsl:template>
- <xsl:template match="z:row">
<Entity ID="{@ID}" ATA="{@ATA_CODE}" Name="{@NAME}" Code="{@CODE}" Source="{@SOURCE}" Ident="{@IDENT}" Level="{@OBS_LEVEL}" EffNote="{@HAS_EFF_NOTE}" Score="{@SCORE}" />
</xsl:template>
</xsl:stylesheet>
AND I NEED OUTPUT XML AS:-
<Entities Count="3">
<Entity ID="1018" ATA="32-43" Name="ALT BRK - LOSS OF THE PEDAL ARTIFICIAL FEEL ON THE RIGHT SIDE" Code="OBSV" Source="" Ident="" Level="" EffNote="0" Score="1"></Entity>
<Entity ID="1017" ATA="32-43" Name="ALT BRK - LOSS OF THE PEDAL ARTIFICIAL FEEL ON THE LEFT SIDE" Code="OBSV" Source="" Ident="" Level="" EffNote="0" Score="1"></Entity>
<Entity ID="100" ATA="32-44" Name="ACCU PRESS DROPS VERY QUICKLY PARKING BRAKE OFF" Code="LOCAL" Source="" Ident="" Level="INDICATOR(S)" EffNote="0" Score="1"></Entity>
</Entities>
how to write a bean to get this xmloutput.
thank in advanceHi Sliba,
You may download and use the XDK for Java that is available from OTN to do this.
Here is the code that will be handy for use. Just substitute your XML document and stylesheet
in the code snippet pasted below. I hope this helps.
There are many more useful XML samples you can find at http://otn.oracle.com/sample_code/tech/xml/content.html
Regards
Abhijeet
// import the necessary libraries
import oracle.xml.parser.v2.XSLProcessor;
import oracle.xml.parser.v2.XSLStylesheet;
import oracle.xml.parser.v2.XMLDocument;
import oracle.xml.parser.v2.DOMParser;
import java.io.StringReader;
public class Test
public Test()
// Xml document that needs to be transformed
private static String xmldoc = "<xml xmlns:s=\"http:www.myschema.com\" >" +
"<s:result>" +
"<s:status>1234554321</s:status>"+
"<s:approvalcode>1234567887654321</s:approvalcode> "+
"</s:result>" +
"</xml>";
// Xsl stylesheet that will be applied
private static String xsldoc ="<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:s=\"http:www.myschema.com\" > " +
" <xsl:template match=\"s:result\"> "+
" My transform status: <xsl:value-of select=\"s:status\"/> <BR/>" +
" My transform Approval code : <xsl:value-of select=\"s:approvalcode\"/> " +
"</xsl:template> " +
"</xsl:stylesheet> ";
public void transform(String xmlstr,String xslstr) throws Exception {
// Create the DOM parser instance
DOMParser dp = new DOMParser();
// Create StringReader object
StringReader xmlreader = new StringReader(xmlstr);
// Parse the xml document string
dp.parse(xmlreader);
// Get java object representation of XML document
XMLDocument xmldoc = dp.getDocument();
// Create an instance of XSL processor
XSLProcessor processor = new XSLProcessor();
// Create StringReader object
StringReader xslreader = new StringReader(xslstr);
// Parse the xsl stylesheet
XSLStylesheet xsl = processor.newXSLStylesheet(xslreader);
processor.showWarnings(true);
processor.setErrorStream(System.err);
processor.processXSL(xsl,xmldoc,System.out);
return;
public static void main(String[] args) throws Exception
Test test = new Test();
System.out.println("Executing test");
test.transform(xmldoc,xsldoc);
}
Maybe you are looking for
-
could not open scratch file because the file is locked or you do not have the necessary access rights.
-
I've been having an intermittent problem for some time now with my MacBook Pro keyboard. The "p", "0" and _ keys will suddenly stop working. Sometimes I can fix the problem by opening TextEdit and typing in the the text window. Sometimes it seems to
-
Hi in our case fiscal year is calender year JAn to Dec. However for the legal point of view we have to close our books also for FY April to March every year In asset accouting asset history sheet show the values starting from January (as per fiscal y
-
One license on different computers?
I have one Photoshop CS6 license. I have installed it on my Imac. When trying to install it on my MacBook i get a message saying "Invalid license number. Does this mean i must by one license for each computer? Regards Eyvind
-
Hi guys, my problem is this:when I register a Logistic invoice with a different price in relation to Purchase Order the system correctly creates also automatically a document of type PR but (I don't understand this) with a posting date different fro