Comparing user defined classes ???

class A
     int i=10;     
class B
     int i=10;     
     //int k = 30;
As we compare both primitive variables,
Is it possible to compare the above A and B classes.
since A and B consists of same variable and same data,
i should get o/p as both are same.
Is it possible to compare like this(classes) ????
but when i remove comment from Class B
the o/p should be both are not same.
with out making a single change in the code. is it possible ?????
i tried it with Comparator...but code need to be change when i remove comment from Class B.

Waitaminnit.
What you're asking for doesn't make any sense.
You want class A and class B to compare a certain way, but then if you change the code for class B, you want them to compare a different way, without changing any other code?
That's fairly ridiculous. Whatever is doing the comparing should know a priori about the important stuff in class B. You can't just come along later and change class B such that the set of important stuff is now different and expect other code to magically know this.
I suppose you could have the Comparator do some weird, ugly-asss reflection and apply some rules to its result, but ick.
Also, you shouldn't even be trying to compare A and B unless one descends from the other, or they descend from a commom ancestor that has all the fields you're going to use in the comparison.
For instance, if B extends A, then you can get rid of the i in B. The comparison would be implemented on A only, and would treat everything as an A. This works because a B is an A.

Similar Messages

  • How to import user defined class in UIX page?

    Does anyone know how to import user defined class in UIX page so that the class can be called in the javascript in the UIX ?
    Thks & Rgds,
    Benny

    what you are referring to is not javascript.
    it is JSP scriptlets. These are very different.
    In order to keep a strict separation between View and Controller, it is not possible to run arbitrary java code from within your UIX code.
    However, you can run java code from within a UIX event handler; see:
    http://otn.oracle.com/jdeveloper/help/topic?inOHW=true&linkHelp=false&file=jar%3Afile%3A/u01/app/oracle/product/IAS904/j2ee/OC4J_ohw/applications/jdeveloper904/jdeveloper/helpsets/jdeveloper/uixhelp.jar!/uixdevguide/introducingbaja.html
    event handler code is run before the page is rendered.

  • Cannot comile user defined classes

    Hello i have a problem on compiling user defined classes .
    example
    file x.java
    public class x{
    file y.java
    import x;
    public class y{
    I first compile x.java and everything is OK .
    Then i compile y.java and the compiler gives the folowing
    y.java:2: '.' expected
    import y
    I have tried to put the classes on a package and added the folowing line yo each file
    import /home/bill/test
    Then i puted the java files on that dir
    and compiled with
    javac -classpath /home/bill/test y.java
    AGAIN THE SAME
    y.java:2: '.' expected
    import y
    WHAT I DO WRONG PLEASE HELP!!!!!!!!!!!!

    1. Since J2SDK 1.4, you can not import classes that are in the default (or unnamed) package. You are getting the error because the compiler expects something after y like y.*;
    2. You do not need to import classes that are in the same package, and all classes in the default package are in the same package.
    In your case, your classes are in the default package so remove the import statement.

  • Pass an array of a user defined class to a stored procedure in java

    Hi All,
    I am trying to pass an array of a user defined class as an input parameter to a stored procedure. So far i have done the following:
    Step 1: created an object type.
    CREATE TYPE department_type AS OBJECT (
    DNO NUMBER (10),
    NAME VARCHAR2 (50),
    LOCATION VARCHAR2 (50)
    Step 2: created a varray of the above type.
    CREATE TYPE dept_array1 AS TABLE OF department_type;
    Step 3:Created a package to insert the records.
    CREATE OR REPLACE PACKAGE objecttype
    AS
    PROCEDURE insert_object (d dept_array);
    END objecttype;
    CREATE OR REPLACE PACKAGE BODY objecttype
    AS
    PROCEDURE insert_object (d dept_array)
    AS
    BEGIN
    FOR i IN d.FIRST .. d.LAST
    LOOP
    INSERT INTO department
    VALUES (d (i).dno,d (i).name,d (i).location);
    END LOOP;
    END insert_object;
    END objecttype;
    Step 4:Created a java class to map the columns of the object type.
    public class Department
    private double DNO;
    private String Name;
    private String Loation;
    public void setDNO(double DNO)
    this.DNO = DNO;
    public double getDNO()
    return DNO;
    public void setName(String Name)
    this.Name = Name;
    public String getName()
    return Name;
    public void setLoation(String Loation)
    this.Loation = Loation;
    public String getLoation()
    return Loation;
    Step 5: created a method to call the stored procedure.
    public static void main(String arg[]){
    try{
    Department d1 = new Department();
    d1.setDNO(1); d1.setName("Accounts"); d1.setLoation("LHR");
    Department d2 = new Department();
    d2.setDNO(2); d2.setName("HR"); d2.setLoation("ISB");
    Department[] deptArray = {d1,d2};
    OracleCallableStatement callStatement = null;
    DBConnection dbConnection= DBConnection.getInstance();
    Connection cn = dbConnection.getDBConnection(false); //using a framework to get connections
    ArrayDescriptor arrayDept = ArrayDescriptor.createDescriptor("DEPT_ARRAY", cn);
    ARRAY deptArrayObject = new ARRAY(arrayDept, cn, deptArray); //I get an SQLException here
    callStatement = (OracleCallableStatement)cn.prepareCall("{call objecttype.insert_object(?)}");
    ((OracleCallableStatement)callStatement).setArray(1, deptArrayObject);
    callStatement.executeUpdate();
    cn.commit();
    catch(Exception e){ 
    System.out.println(e.toString());
    I get the following exception:
    java.sql.SQLException: Fail to convert to internal representation
    My question is can I pass an array to a stored procedure like this and if so please help me reslove the exception.
    Thank you in advance.

    OK I am back again and seems like talking to myself. Anyways i had a talk with one of the java developers in my team and he said that making an array of structs is not much use to them as they already have a java bean/VO class defined and they want to send an array of its objects to the database not structs so I made the following changes to their java class. (Again hoping some one will find this useful).
    Setp1: I implemented the SQLData interface on the department VO class.
    import java.sql.SQLData;
    import java.sql.SQLOutput;
    import java.sql.SQLInput;
    import java.sql.SQLException;
    public class Department implements SQLData
    private double DNO;
    private String Name;
    private String Location;
    public void setDNO(double DNO)
    this.DNO = DNO;
    public double getDNO()
    return DNO;
    public void setName(String Name)
    this.Name = Name;
    public String getName()
    return Name;
    public void setLocation(String Location)
    this.Location = Location;
    public String getLoation()
    return Location;
    public void readSQL(SQLInput stream, String typeName)throws SQLException
    public void writeSQL(SQLOutput stream)throws SQLException
    stream.writeDouble(this.DNO);
    stream.writeString(this.Name);
    stream.writeString(this.Location);
    public String getSQLTypeName() throws SQLException
    return "DOCCOMPLY.DEPARTMENT_TYPE";
    Step 2: I made the following changes to the main method.
    public static void main(String arg[]){
    try{
    Department d1 = new Department();
    d1.setDNO(1);
    d1.setName("CPM");
    d1.setLocation("LHR");
    Department d2 = new Department();
    d2.setDNO(2);
    d2.setName("Admin");
    d2.setLocation("ISB");
    Department[] deptArray = {d1,d2};
    OracleCallableStatement callStatement = null;
    DBConnection dbConnection= DBConnection.getInstance();
    Connection cn = dbConnection.getDBConnection(false);
    ArrayDescriptor arrayDept = ArrayDescriptor.createDescriptor("DEPT_ARRAY", cn);
    ARRAY deptArrayObject = new ARRAY(arrayDept, cn, deptArray);
    callStatement = (OracleCallableStatement)cn.prepareCall("{call objecttype.insert_array_object(?)}");
    ((OracleCallableStatement)callStatement).setArray(1, deptArrayObject);
    callStatement.executeUpdate();
    cn.commit();
    catch(Exception e){
    System.out.println(e.toString());
    and it started working no more SQLException. (The changes to the department class were done manfully but they tell me JPublisher would have been better).
    Regards,
    Shiraz

  • How to put a user defined class in Web dynpro

    How and where can we create some user defined classes?
    For example i wanted to create some utility classs for my project. Under what folder should i create this?

    Please create the .java files under src folder of the project
    Go to PackageExplorer->expand the project->select src/packages and create the package under this and create java file.
    Regards, Anilkumar

  • User defined class  for Web Services

    I am trying to use the Web Service Publishing Wizard to publish
    a class as a web service. The wizard will not allow me to select
    the method I wish to publish. When I click on the "Why Not?"
    button the message says:
    "One or more parameters did not have an XML Schema mapping
    and/or serializer specified"
    I use user defined classes as parameters of the methods of the service web.
    How cam i install this web service on "Oracle J2EE Web services"?

    If you use Java Beans (or single dimension arrays of Java Beans) that implement the java.io.serializable interface as per this article:
    http://otn.oracle.com/tech/webservices/htdocs/samples/customtype/content.html
    then Oracle9iAS will handle the publishing process of custom data types. The publishing wizard in Oracle9i JDeveloper 9.0.2 doesn't support this yet, but the link in the article to the JDeveloper help gives a fairly straightforward workaround. This workaround will be eliminated in Oracle9i JDeveloper 9.0.3 (due late August).
    Does representing your parameters as Java Beans work for your problem?
    Mike.

  • Class Data Sharing for User Defined Classes

    i am using jdk 5.0 . JDK 5.0 supports class data sharing for system level classes. Is there any way a class data sharing be done for a user defined class?

    Samantha10 wrote:
    Is this class data sharing possible for user defined classes also? i have a singleton class which i am invoking through a script. The script has been scheduled to run every 1 sec . Since it is being invoked every 1 sec hence the singleton pattern is failing . Hence if the this class data sharing is possible then the singleton pattern can be made applicable.If you have a single process and you have a single class loaded by two different ClassLoader instances
    in some respects they will be two different classes
    if (class1 instanceof class2.getClass())returns false.
    This is not the case for Java core classes because they are always loaded by the SystemClassLoader.
    You write you
    have a singleton class which i am invoking through a script. What approach to you use to invoke the singleton?
    I am trying to figure out if you launch a new JVM every second...
    Maybe you can use Nailgun.

  • Identifying APIs & user-defined classes

    I have a class name in a string variable. Is it possible to identify whether that class is a Java API or user-defined class ? Please note that the identification has to be done thru code not manually.

    There is no clear distinction between Java API and user defined classes. What I mean is there is no rule to limit user to use java.util as their package name and create their own classes like java.util.CustomCollection. Although that is not recommended at all, but nothing prevents it. There is sun.* package which implements most of the java.* classes, do you consider those Java API? And there are third party classes such as org.omg.* etc. All these classes including user defined classes are treated equally with the JVM.
    So there is no clear distinction. The only thing you can do is to define a list of class names you consider Java API.
    Why do you want to seperate them if I may ask? Since the JVM doesn't care.
    --lichu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • User defined classes

    Hi,
    I need to create a project which requires the application to have user defined classes. I am thinking of creating a Timer class which is imported into the main application and shown on the screen. Is this what a user defined class is, by importing another made class into the main class of the application?
    Thanks for your help.

    There are two basic types of classes in Java, ones written by someone else, and ones written by you.
    The ones you write may use the ones other people write (like the classes that come with the SDK) or may use the other ones you write, or even better, both.
    In Java there is no concept of a "main application". But there is a static method in a class your write that you call "main" and is special because it's the method that gets called by the java runtime when you tell it to load your class. i.e., it's the starting point of your application. In fact, you can have many classes in your collection of classes that make up an application with a main method and you can have java start with any one of these classes.
    Hope this helps.

  • User defined class objects for a ADF component (button,inputfield)

    How do I define a user defined class object for ADF objects?
    My requirement is that when I do a modification to the class object, it should get reflectected to all the instances on my page.
    E.g:- I'm having class object clsInputField, and all my input fields in my pages are based on this object. So when I change clsInputField it should get reflected to all my controls based on this class object.
    Please help!!!

    Hi Timo,
    In our client server environment, we have a custom control for managing the zip code (used a Custom InputText field which extends the actual TextField) . All zip code specific validations are written in this custom class. In our application many of the pages uses this Custom component. So if any of the zipcode specific behaviour changes, we could implement this by only changing the Custom InputText field class.
    We need to implement this behaviour in our ADF applications. Please advise.
    Thanks,
    Vishnu

  • Clone a user defined class..

    Hello all,
    just curious to know how can I copy/clone an instance of a class that I cant change/rebuild? I have gone thru the forums and I understand that to be able to clone a class-instance, the class itself should implement Cloneable or apply the deep-copy technique as mentioned in one of the JavaWorld pages but, as I said, what happens in a case where one has no access to the class code?
    however, if these are the only ways to have a user defined class cloned then, it should be possible to avoid a clone/copy situation... I dont know how. Does anyone else know?
    I have tried with few examples to understand what a shallow/deep copy is.
    the curiosity is terribly grown once I heard from one of my colligues that this is very much (easily) possible in c++ and delphi!!!
    please clarify. thanks in advance!

    Object.clone() is native and create a copy by ignoring all access checks (native code have access to everything by default), therefore copying all fields in the new object. All you have to do is implements Cloneable. Overload the method if you want it to be public and then just call super.clone() or if you don't want to copy everything you have to deal with it manually, copy all the fields you need. If you don't have access to all members you have to use reflection and suppress the access checks.

  • Loading the user defined class file

    Hai,
    Is there any way to load the user defined class at the time of starting my Jakarta Tomcat server.
    Regards
    ackumar

    Hi!!
    Hope, <load-on-startup> tag of web.xml helps in
    s in this regard.I think this tag is to load servlet. I am talking about loading a user defined class file for example xyz.class which is no a servlet just a class file.
    Regards
    ackumar

  • An array of vectors that contain a user defined class gives: warning: [unch

    I've read two tutorial on Generics and still don't get everything.
    Anyway I have a user defined class called a Part. I have some Vectors of Part objects, and these Vectors of Part objects are stored in an Array of Vectors.
    Amazingly, I got all the checking right so far; however, am now trying to loop through my Array, an pass the individual Vectors to a method:
    //create a single list of all parts numbers
    //add the part number from each vector/part into a new vector of strings
    for(int y=0; y < ArrayOfPartVectors.length; y++) {
        Vector<Part> vTemp = ArrayOfPartVectors[y];
        vAllPartNumbers.addAll(pm.getPartNumbersFromVector(vTemp));
    }I get the following warning:
    com\gdls\partMatrix\PartMatrix.java:75: warning: [unchecked] unchecked conversion
    found   : java.util.Vector
    required: java.util.Vector<com.gdls.partMatrix.Part>
                                    Vector<Part> vTemp = VectorArrayParts[y];
                                                                         ^
    1 warningNow I have put the 'check' (<Part>) in every concievable spot in that statement, and I get a compler error now instead of a warning.
    Any guidance would be appreciated.
    Thank you,

    The problem is not with Vector. If you want to use it that's fine.
    You could also want to use ArrayList because the class is roughly equivalent to Vector, except that it is unsynchronized.
    But your problem is that arrays and generics don't mix well as previously mentioned in the first reply.
    You did not specify the type of ArrayOfPartVectors but I guess it is Vector[], not Vector<Part>[], right?
    So you'll have an unchecked warning when doing the conversion from Vector to Vector<Part> in the assignment within the loop.
    Maybe you tried to use a ArrayOfPartVectors of type Vector<Part>[] instead but found it impossible to create it with new
    You can do it with Array.newinstance() but you'll get an unchecked warning at this line instead of later.
    So mixing generics and arrays will allways result in warnings.
    You should read: [url http://www.angelikalanger.com/Articles/Papers/JavaGenerics/ArraysInJavaGenerics.htm]Arrays in Java Generics.
    Regards

  • How can 1 make an object of user defined class immutable?

    Hi All,
    How can one make an object of user defined class immutable?
    Whats the implementation logic with strings as immutable?
    Regards,

    Hi All,
    How can one make an object of user defined class
    immutable?The simple answer is you can't. That is, you can't make the object itself immutable, but what you can do is make a wrapper so that the client never sees the object to begin with.
    A classic example of a mutable class:
    class MutableX {
        private String name = "None";
        public String getName() {
            return name;
        public void setName(String name) {
            this.name = name;
    }I don't think it's possible to make this immutable, but you can create a wrapper that is:
    class ImmutableX {
        private final MutableX wrappedInstance;
        public ImmutableX (String name) {
            wrappedInstance = new MutableX();
            wrappedInstance.setName(name);
        public String getName() {
            return wrappedInstance.getName();
        // Don't give them a way to set the name and never expose wrappedInstance.
    }Of course, if you're asking how you can make your own class immutable then the simple answer is to not make any public or protected methods that can mutate it and don't expose any mutable members.
    Whats the implementation logic with strings as
    immutable?
    Regards,I don't understand the question.

  • Comparing a user defined class

    Hi
    I've defined a class called Customer, and when i make two instances of it, i want to compare them to see if they are equal or not. To do this, do i have to write my own equals() method for the class, or is there an easier way to do it?
    cheers for the help
    Sok

    Hi
    I've defined a class called Customer, and when i make
    two instances of it, i want to compare them to see if
    they are equal or not. To do this, do i have to write
    my own equals() method for the class, or is there an
    easier way to do it?
    cheers for the help
    SokThat is the accepted way of doing it!

Maybe you are looking for

  • Interface mapping Object _Doesn't exist in RuntimeCache_Error_SXMB_MONI

    Hi  EXperts , Issue in XI --Dev System I have an simple IDOC  (DESADV.DELVRY03) ->Flat File Scenario . Mapping is done as per the Line of Business requirements . I have tested mapping and  I get the response as expected. We released the IDOC (Outboun

  • Information on mrp function modules

    Hi Friends , iam in support project where i want to change the some logic in a  mrp related report. there i found function modules for mrp  are MD_READ_MATERIAL_SIMPLE AUFBAUEN_MDPSX_ANZEIGEN MDEZX_AUFBAUEN' there is no documentation for those mt61d,

  • ITunes id3 Issue

    Long story short, I just got a new macbook because my old mbp broke and I installed a 500gb hd so that I could store all my music on it (previously, my library was too big for the mbp hd so I kept my music on an external). Anyway, I put all of my mus

  • Handling exceptions from Future/FutureTask.get()  : a question

    Hello. While trying to understand the way (possible) exceptions from Future/FutureTask.get() method can be handled, I found the following example on how this could be done: [http://www.javaconcurrencyinpractice.com/listings.html] * StaticUtilities *

  • How to create TAX CODE in Spro...urgent please...

    Hi sap guru's        While doing MIRO/MIR7/MIRA(logistics invoice verification). my cleint is using different tax code. i want to creat new TAX code for my cleint..      can anybody tell me how to create TAX code in SPRO. Thanks