I have a class C extends B. and B extends A. A has an attribute name. I don’t want to see name attribute at C class.
How can I do that ignore?
PS: If it is not possible at Java: I am working on a Spring project that uses Apache CXF and has a web service capability. I want to get B type object from client and send C type object to client. Because of my design issues I don’t want to change my inheritance mechanism. If there is a way can I ignore name field at C class? I am implementing as first-code style.
Based on your edit, you are trying to hide an attribute from a superclass (A) in the serialized representation of one of it’s subclasses (C). Assuming you are using JAX-WS/JAX-RS, you can do this by overriding the property in the subclass and applying annotations to mark it as not eligible for serialization. The primary annotation to apply will be the JAXB annotation @XmlTransient. You can also @JsonIgnore the property, if you are providing the option to serialize objects as JSON. Pseudo code shown below: