Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4085278
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T18:33:14+00:00 2026-05-20T18:33:14+00:00

Lets say I have a class… com.mycom.app.AbstractMessage There is another class in com.mycom.model.QueryResponse QueryResponse

  • 0

Lets say I have a class…

com.mycom.app.AbstractMessage

There is another class in

com.mycom.model.QueryResponse

QueryResponse extends AbstractMessage and notice they are in different pacakges

com.mycom.model is a GWT Module and in the module XML

When I compile model there are errors. However when I try to use QueryReponse in another GWT module, I get runtime errors

“No source code is available for type com.mycom.app.AbstractMessage; did you forget to inherit a required module”

This lends me to believe that AbstractMessage was not compiled/compiled right to begin understandably because I DO NOT WANT to have “app” package be a GWT module

In other words, I only want to compile all classes in “model” and not any super classes. How can I tell the GWT compiler/rpc/linker/serializer etc not to do so?

i.e Is there a way to tell GWT not to walk beyond certain classes when it serializing/compiling it

I am doing this a source environment where we have a lot of packages, most of them depend on MODEL only and I DO NOT want to make a GWT module out of every package, just so it compiles.

Thoughts anyone?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T18:33:15+00:00Added an answer on May 20, 2026 at 6:33 pm

    I did a little bit of research on this one, you are right GWT will look for all implementations of an Abstract class, if and only if, the AbstractClass is referenced in an RPC GWTAsync interface, even though some are in non-GWT packages.

    Let’s say an object of type AbstractClass comes in over the network, and the GWT deserializer is now tasked with coverting the network data into a specific instance. It needs to know about all implementations of AbstractClass, to find which is coming over the network right now! — So to accomplish this it, at compiletime, generates a .rpc file for each GWT service interface, listing all possible concrete types that the service methods can return.

    Ray Ryan (Google employee) once mentioned that it is a bad idea to use interfaces arguments or return types in any RPC interface. – because it makes it difficult for the deserializer to know the exact type.

    You can hand edit the generated RPC file and remove the offending types, or mark the other implementations as Non Serializable by not implementing Serializable in those implementations in other packages.

    A Better way could be – I suspect you wrote code : “implements java.io.Serializable” at the top level (for the AbstractClass itself), maybe it’s now time to move it to each implementation.

    Now the GWT RPC deserializer’s task is clear and straightforward – it knows that only certain implementations (that are serializable) of the AbstractClass will come over the network, and reach and compile them only. So it will not compile the other non serializable subclassess of your AbstractClass – as it knows they arent serializable.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Lets say I have a class named Car and another which inherits from Car
So lets say I have Class 1 public Class1 { Class2 myClass2; public Class1()
Lets say I have business class: public class Foo { public int Prop1 {get;set;}
Lets say we have a class with a property called PetsName. If it is
Lets say I have this class (just as an example): internal class Packet {
I'm new to Java Threads and synchronization. Lets say I have: public class MyClass(){
Lets say I have an ActionScript class: MyClass and that class has data in
So for starters lets say that I have a LinkedList<String> , I can easily
Lets say we have a native library that works with data like this: double
I have defined an object that has several attribute.. class thing(object): def __init__(self, type,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.