Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #23826

cannot find symbol?

From qwertmonkey@syberianoutpost.ru
Newsgroups comp.lang.java.programmer
Subject cannot find symbol?
Date 2013-05-04 20:58 +0000
Organization Aioe.org NNTP Server
Message-ID <km3spu$v80$1@speranza.aioe.org> (permalink)

Show all headers | View raw


 this is what I had in mind. The thing is that I wanted to get a typed object
~ 
 public T_Ctxt getCtxtDTO();
~ 
 instead of a flat one
~ 
 public Object getCtxtDTO();
~ 
 and even though I haven't had the chance/need to learn about generics and how
they relate to reflection I have the (probably wrong) hunch that there should
be a way to do that
~ 
 lbrtchx
~ 
// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 

import java.util.Date;

import java.io.IOException;

import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;

// __ 
class IADObj{
 private double d;
 private String aS;
 private Date Dt;
// __ 
 IADObj(){}
// __ 
 public void setCtxt(String[] aSAr){
  this.d = (new Double(aSAr[0])).doubleValue();
  this.aS = aSAr[1];
  this.Dt = new Date((new Long(aSAr[2])).longValue());
 }
// __ 
 public String toString(){ return(" d: |" + d + "|, aS: |" + aS + "|, Dt: |" +
Dt + "|"); }
}

// __ 
class Ho3K{
 private String aS;
 Ho3K(){}
 public void setCtxt(String[] aSAr){ this.aS = aSAr[0]; }
 public String toString(){ return(" aS: |" + aS + "|"); }
} 

// __ 
interface verifiableCLIContext12<T_Ctxt>{
 public boolean verifyCtxt(String[] aSArs, Class<? extends T_Ctxt> TpArgK);
// public T_Ctxt getCtxtDTO();
 public Object getCtxtDTO();
}

// __ 
class DTO_T_Ctxt12<T_Ctxt> implements verifiableCLIContext12<T_Ctxt> {
// private T_Ctxt tCtxt; // operating context

 private Object OCtxtObj; // operating context

 private final Class[] KParams = new Class[]{String[].class};

// __ 
 DTO_T_Ctxt12(){ System.err.println("// __ object created: |" + getTimeStamp() + "|"); }

// __ 
 private String getTimeStamp(){ return((new Date()).toString()); }

// __ 
 public boolean verifyCtxt(String[] aSAr,  Class<? extends T_Ctxt> TpArgK){
  int iArSz= Integer.MIN_VALUE;
  boolean Is = ((aSAr != null) && ((iArSz = aSAr.length) > 0));
  if(Is){
   for(int i = 0; (i < iArSz); ++i){ 
    System.err.println("// __ aSAr[" + i + "]: |" + aSAr[i] + "|");
   } 
// __ 
   try{
    OCtxtObj = (T_Ctxt)TpArgK.newInstance();
    Method VerMthd = (OCtxtObj.getClass()).getDeclaredMethod("setCtxt", KParams);
    VerMthd.invoke(OCtxtObj, new Object[]{aSAr});
System.err.println("// __ |" + this.getClass() + "." +
Thread.currentThread().getStackTrace()[1].getMethodName() + "|" + OCtxtObj + "|");
   }catch(InstantiationException InstX){ InstX.printStackTrace(System.err); }
    catch(IllegalAccessException IlglAxX){ IlglAxX.printStackTrace(System.err); }
    catch(NoSuchMethodException NMthddX){ NMthddX.printStackTrace(System.err); }
    catch(InvocationTargetException InvkTrgtX){ InvkTrgtX.printStackTrace(System.err); }

  }// (Is)
// __ 
  return(Is);
 }

// __ 
 public Object getCtxtDTO(){
System.err.println("// __ |" + this.getClass() + "." +
Thread.currentThread().getStackTrace()[1].getMethodName() + "|");
  return(OCtxtObj);
 }
}

// __ 
public class DTO_T_Ctxt12Test{
 public static void main(String[] args) {
  String[] aSAr;
  Object RObj;
// __ 
  System.err.println("// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ");
  IADObj IAD = new IADObj();
  aSAr =  new String[]{"37", "abc",
 (new Long(System.currentTimeMillis())).toString()};
  DTO_T_Ctxt12<IADObj> DTO_IADObj = new DTO_T_Ctxt12<IADObj>();

  DTO_IADObj.verifyCtxt(aSAr, IAD.getClass());
  RObj = DTO_IADObj.getCtxtDTO();
  System.err.println("// __ |" + RObj.getClass() + "|" + RObj + "|");
// __ 
  System.err.println("// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ");
  Ho3K Ho3 = new Ho3K();
  aSAr =  new String[]{"Ho, ho, ho!"};
  DTO_T_Ctxt12<Ho3K> DTO_Ho3 = new DTO_T_Ctxt12<Ho3K>();

  DTO_Ho3.verifyCtxt(aSAr, Ho3.getClass());
  RObj = DTO_Ho3.getCtxtDTO();
  System.err.println("// __ |" + RObj.getClass() + "|" + RObj + "|");
// __ 
 }
}

// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 

Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

cannot find symbol? qwertmonkey@syberianoutpost.ru - 2013-05-04 20:58 +0000
  Re: cannot find symbol? markspace <markspace@nospam.nospam> - 2013-05-04 17:53 -0700
  Re: cannot find symbol? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-05-04 18:07 -0700

csiph-web