Extending a foundation class

I need to change
/libs/foundation/src/impl/src/main/java/com/day/cq/wcm/foundation/Search.java
How do you go about changing these?

Thanks for you reply,
I need to modify a couple of methods, the biggest change is to change the output to JSON.
I'm new the CQ and I don't know what the best thing to do is to extend this class.  Is there a particular location where you would put the new class and it automatically gets registered?  or do you have to register it yourself and then it doesn't matter where it lives?.....  
Should I extend it or is it better to copy all together and modify?

Similar Messages

  • Extending a nested class and parent access

    I want the child of the abstract inner class to have access to the inner classes parent's variables. I know that an inner class can access it's parent's variables and methods with the "[ParentClass].this.[var/method]" syntax. What's the appropriate syntax for the situation I'm describing?
    My setup is like this:
    class Canister {
      int a = 0;
      public abstract class Behavior
    class Lonely Behavior extends Behavior
      public int getParentVariable() {
        return Canister.this.a;
    }Thanks!
    -stephen

    The correction to my code is:
    class Canister
      int a = 0;
      public abstract class Behavior
    class LonelyBehavior extends Canister.Behavior
      public int getParentVariable() {
        return Canister.this.a;
    }The compiler doesn't have a problem with me extending Canister.Behavior because it's public inside of Canister. But as I explained, the "[ParentClass].this.[var/method]" syntax doesn't work.
    This is inconsistent with inheritance: you'd think that if you extend an inner class, you would inherit the abilities and characteristics of that inner class, just as you would in other cases of inheritance. It's also inconvenient: if the inner class is abstract because you want programmers to extend and upgrade it, those programmers have to change the source code of the enclosing class to include the new classes.
    Anyway, thanks for the info.

  • EXTENDING the string class

    ok, i know extending the string class is illegal because it's final, but i want to make an advanced string class that basically "extends" the string class and i've seen online this can be done through wrapper classes and/or composition, but i'm lost
    here is my sample code that is coming up with numerous compile time errors due to the fact that when i declare a new AdvString object, it doesn't inherit the basic string features (note: Add is a method that can add a character to a specified location in a string)
    class AdvString
         private String s;
         public AdvString(String s)
              this.s = s;
         public void Add(int pos, char ch)
              int this_len = (this.length()) + 1;
              int i;
              for(i=0;i<(this_len);i++)
                   if(pos == i)
                        this = this + ch;
                   else if(pos < i)
                        this = this + this.charAt(i-1);
                   else
                        this = this + this.charAt(i);
         public static void main(String[] args)
              AdvString s1;
              s1 = new AdvString("hello");
              char c = 'x';
              int i = 3;
              s1.Add(i,c);
              //s2 = Add(s1,i,c);
              //String s2_reversed = Reverse(s2);     
              System.out.println("s1 is: " + s1);
    any tips?

    see REString at,
    http://www.geocities.com/rmlchan/mt.html
    you will have to replicate all the String methods you are interested in, and just forward it to the String instance stored in REString or the like. it is like a conduit class and just passes most processing to the 'real' string. maybe a facade pattern.

  • Can an abstract class extend another abstract class?

    Is it possible for an abstract class to extend another abstract class?
    Say
    public abstract class AComponent extends JComponent {
    Thanks.

    Yes

  • Inner Class extending the outer class

    Could anyone explain this code to me? It can compile and run. Could anyone tell me what the class Main.Inner.Inner is? What members does it consists of? How the compiler manage to build such a class?
    public class Main {
        public static class Inner extends Main {
        public static void main(String[] args) {
            System.out.println("Hello, world.");
    }

    By the way, it's not really an inner class, because it's static. It's just a nested class.
    You might want to have a nested class extend its enclosing class if, maybe, you wanted to delegate to subclasses and didn't want to create a lot of extra source code files, which might make sense if the nested subclasses were really small.
    public abstract class Animal {
      public abstract void makeSound();
      private Animal() {} // can't be directly instantiated
      private static class Dog extends Animal {
        public void makeSound() { System.out.println("woof"); }
      private static class Cat extends Animal {
        public void makeSound() { System.out.println("meow"); }
      private static class Zebra extends Animal {
        public void makeSound() { System.out.println("i am a zebra"); }
      public static Animal get(String desc) {
        if ("fetches sticks".equals(desc)) {
          return new Dog();
        if ("hunts mice".equals(desc)) {
          return new Cat();
        if ("stripey horse".equals(desc)) {
          return new Zebra();
        return null;
    public class AnimalTest {
      public static void main(String... argv) {
        Animal a = Animal.get("fetches sticks");
        a.makeSound();
    }

  • Extending an inner class (6 lines of code)

    // Mammal.java
    public class Mammal {
      public class Hand {
    // Human.java
    public class Human extends Mammal {
      public class Hand extends Mammal.Hand {  // (1)
    }This gives me compilation error at (1).
    If I change Human.java as below, the code works.
    // Human.java
    public class Human extends Mammal {
      public class HumanHand extends Mammal.Hand {
    }If I want my original class name "Human.Hand", what should I do?

    the compiler certainly doesn't accept 2 public class with the same name.

  • Confused about extending the Sprite class

    Howdy --
    I'm learning object oriented programming with ActionScript and am confused about the Sprite class and OO in general.
    My understanding is that the Sprite class allows you to group a set of objects together so that you can manipulate all of the objects simultaneously.
    I've been exploring the Open Flash Chart code and notice that the main class extends the Sprite class:
    public class Base extends Sprite {
    What does this enable you to do?
    Also, on a related note, how do I draw, say, a line once I've extended it?
    Without extending Sprite I could write:
    var graphContainer:Sprite = new Sprite();
    var newLine:Graphics = graphContainer.graphics;
    And it would work fine. Once I extend the Sprite class, I'm lost. How do I modify that code so that it still draws a line? I tried:
    var newLine:Graphics = this.graphics;
    My understanding is that since I'm extending the Sprite class, I should still be able to call its graphics method (or property? I have no idea). But, it yells at me, saying "1046: Type was not found or was not a compile-time constant: Graphics.

    Thanks -- that helped get rid of the error, I really appreciate it.
    Alas, I am still confused about the extended Sprite class.
    Here's my code so far. I want to draw an x-axis:
    package charts {
        import flash.display.Sprite;
        import flash.display.Graphics;
        public class Chart extends Sprite {
            // Attributes
            public var chartName:String;
            // Constructor
            public function Chart(width:Number, height:Number) {
                this.width = width;
                this.height = height;
            // Methods
            public function render() {
                drawAxis();
            public function drawAxis() {
                var newLine:Graphics = this.graphics;
                newLine.lineStyle(1, 0x000000);
                newLine.moveTo(0, 100);
                newLine.lineTo(100, 100);
    I instantiate Chart by saying var myChart:Chart = new Chart(); then I say myChart.render(); hoping that it will draw the axis, but nothing happens.
    I know I need the addChild method somewhere in here but I can't figure out where or what the parameter is, which goes back to my confusion regarding the extended Sprite class.
    I'll get this eventually =)

  • Can we extend the Throwable class instead of Exception Class??

    Hi all..
    Can we extend the Throwable class instead of Exception Class while creating our own custom Exception?If not Why?
    Please give your valuble advices..
    Ramesh.

    I don't want to hijack the thread here, but in a conversational tone...on a related note.. I've thought about this too a bit and wondered if there are some recommended practices about catching and handling Throwable in certain applications. Like the other day I was debugging a web application that was triggering a 500. The only way I could find the problem in an error stack was to write code to catch Throwable, log the stack, and then re-throw it. I considered it "debug" code, and once I solved the problem I took the code out because, my understanding is, we don't want to be handling runtime problems... or do we? Should I have a catch clause for Throwable in my servlet and then pass the message to ServletException?
    So along with the OP question, are there separate defined occasions when we should or should not handle Throwable? Or does it just all depend on circumstance?

  • Extending inner [nested] classes

    OK I've got a class (A) with a nested class (B).
    B accesses variables etc. in A and does its own thing, but what I'd like to do is make B abstract and have a number of classes extend it - which is used depends on program arguments.
    The problem I'm having is that the new class (C) that extends B does not seem to have access to any of the variables in A.
    I originally tried:
    class C extends B
    and
    class C extends A$B
    I also tried this, which I found on this site:
    class C extends A.B
    (thats A-dot-B) but it still doesnt seem to be working.
    Is it possible to extend [abstract] inner classes like this? If so, how? Any help appreciated. cheers.

    Here I found a solution. However, it is not so elegant. In fact, I am also having trouble in extending a nested class in an elegant way.
    Here, A is the original top-level class and A.B is the nested class of A. A2 extends A. B2 and B3 extends A.B. Main is the class where the main() method can be found.
    // A.java
    public class A {
      private B b;
      public void setB (B b) {
        this.b = b;
      public B getB () {
        return b;
      public abstract class B {
        public abstract String getName();
    // A2.java
    public class A2 extends A {
      public class B2 extends A.B {
        public String getName () {
          return "Peter";
      public class B3 extends A.B {
        public String getName () {
          return "John";
    public class Main {
      public static void main (String[] args) {
        A a = new A2 ();
        A.B b = ((A2)a).new B2 ();
        a.setB (b);
        System.out.println (a.getB().getName());  // John
        b = ((A2)a).new B3 ();
        a.setB (b);
        System.out.println (a.getB().getName());  // Peter
    }You may see here that I used "A" as the type of "a". Te reason is I want to use "a" as an "A", not "A2". If you don't want to do casting, you may simply use "A2" as the type. The class A2 can be blank. It is only a "container" of the classes B2 and B3.

  • How can I extend the Vector class?

    Hi All,
    I'm trying to extend the Vector class so I can get add a .remove(item:T) method to the class.  I've tried this:
    public class VectorCollection extends Vector.<T>
    That gives me the compile error "1017: The definition of base class Vector was not found"
    So then I tried:
    public class VectorCollection extends Vector
    Which gives me the compile error "1016: Base class is final."
    There must be some way to extend the Vector class, though, as on the Vector's official docs page it says:
    Note: To override this method in a subclass of Vector, use ...args for the parameters, as this example shows:
         public override function splice(...args) {
           // your statements here
    So there must be a way to extend the Vector class.  What am I doing wrong?

    No. AS3 doesn't currently have full support for generic types; Vector.<T> was added in an ad-hoc ("ad-hack"?) way. We are considering adding full support in a future version of ActionScript.
    Gordon Smith
    Adobe Flex SDK Team

  • Foundation classes is there a download pool somewhere?

    Hello all,
    i am new to Java ....
    I am just trying to comile some code from my book with the following import lines
    import java.applet.*;
    import java.awt.*;
    import com.ms.ui.*;
    import com.ms.fx.*;
    I get the error that javac can't find the "com.ms.ui.*" package.
    I know "com.ms.ui."classes are from Microsoft. But where can i get them. I searched in the internet and didn't find a download place. The follwing adress don't works "http://air.knu.ac.kr/reference/COM/afc.htm"
    My question now. Is there a place in the internet where all (foundation) classes are for download, or does somebody know where i can download the AFC from microsoft? Because i am new, is there a place where somebody should start for searching when he is locking for some classes or packages.
    Thanks in advance
    richard

    Throw away that book and get another one. Microsoft is the worst possible source for Java, don't bother with it unless you are forced to by your boss at work.

  • (Class ? extends Set String ) Class.forName("example.SetImpl").asSubclass

    Is there a way to do the following without an Unchecked cast?
    Class<? extends Set<String>> clazz;
    clazz = (Class<? extends Set<String>>) Class.forName("example.SetImpl").asSubclass(Set.class);
    Set<String> mySet = clazz.newInstance();
    cheers,
    reto

    No. The last line will always generate that warning making the second line pointless. There is no way to create a new instance of a generic class because there is (for most intents and purposes) no such thing as a generic class at runtime.

  • How to extend an AS3 class in an MXML Component

    Hello,
    I have a few MXML Components based on the Spark Group.
    They all use MXML for layouta and AS3 for logic.
    They all have the same logic and I would like all to extend an AS3 class to have the same methods and properties isteand of declaring the same exact ones for each MXML Component.
    How can this be done please?

    Hm, no, I'm not explaing this properly.
    I have an MXML component based on the Spark Group.
    It has a few form elements.
    There are many such components.
    I want all to have two public methods: getData() and setData() which get and set data from and to the input elements.
    I don't want to write the exact same method for all of them.
    I would like to at least interface the MXML components with an AS3 class forcing them to have those 2 methods.

  • Extending the Thread class

    i would like to do that
    1) One thread displays "ABC" every 2 second;
    2) The other thread displays DEF every 5 seconds;
    i need to create the threads by extending the Thread class ...
    thank you for your help ,
                public class Thread1 extends Thread {
              public Thread1(String s ) {
                   super (s);
              public void run() {
                   for ( int i=0; i<5; i++ ) {
                        System.out.println(getName());
                        try {
                           sleep ((long) 5000);
                        } catch (InterruptedException e ) {
                           /* do nothing */
              public static void main (String args[]) {
                   new Thread1 ("ABC").start();
                   new Thread1 ("DEF").start();
         }     

    I think he has been told to use the Thread class by the sounds of it.
    public class Thread1 extends Thread {
         public Thread1(String s ) {
              super (s);
         public void run() {
              for ( int i=0; i<5; i++ ) {
                   System.out.println(getName());
                   try {
                      sleep (getName().equals("ABC")? 5000 : 2000); //If you don't understand this then Google for "Java ternary operator"
                   } catch (InterruptedException e ) {
                      /* do nothing */
         public static void main (String args[]) {
              new Thread1 ("ABC").start();
              new Thread1 ("DEF").start();
    }

  • Do I need to extend any of classes from AXIS  to return multiple values?

    Do I need to extend any of classes from AXIS to return multiple values? I'm exposing the following method as web service through AXIS to return multiple values.
    public ContactAddress testService()
              ContactAddress     cAddr     =     new     ContactAddress();
              cAddr.setAddresses1("AAAAAAAAAAAAA");
              cAddr.setAddresses2("BBBBBBBBBBBBB");
              cAddr.setAddresses3("CCCCCCCCCCCCC");
              return cAddr;
    and the code for ContactAddress is
    public class ContactAddress {
         // member variables
         private String addresses1;
         private String addresses2;
         private String addresses3;
         public String getAddresses1() {
              return addresses1;
         public void setAddresses1(String addresses1) {
              this.addresses1 = addresses1;
         public String getAddresses2() {
              return addresses2;
         public void setAddresses2(String addresses2) {
              this.addresses2 = addresses2;
         public String getAddresses3() {
              return addresses3;
         public void setAddresses3(String addresses3) {
              this.addresses3 = addresses3;
    }when I'm exposing the method in following way...I'm gettting this error.
    org.xml.sax.SAXParseException: Premature end of file.
    The wsdl for this is .......
      <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions targetNamespace="http://v:9090/services/Test" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://v:9090/services/Test" xmlns:intf="http://v:9090/services/Test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <!--
    WSDL created by Apache Axis version: 1.4
    Built on Apr 22, 2006 (06:55:48 PDT)
      -->
    - <wsdl:types>
    - <schema targetNamespace="http://v:9090/services/Test" xmlns="http://www.w3.org/2001/XMLSchema">
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="ContactAddress">
    - <sequence>
      <element name="addresses1" nillable="true" type="soapenc:string" />
      <element name="addresses2" nillable="true" type="soapenc:string" />
      <element name="addresses3" nillable="true" type="soapenc:string" />
      </sequence>
      </complexType>
      </schema>
      </wsdl:types>
    - <wsdl:message name="addRequest">
      <wsdl:part name="x" type="soapenc:string" />
      </wsdl:message>
    - <wsdl:message name="testServiceResponse">
      <wsdl:part name="testServiceReturn" type="impl:ContactAddress" />
      </wsdl:message>
    - <wsdl:message name="addResponse">
      <wsdl:part name="addReturn" type="soapenc:string" />
      </wsdl:message>
      <wsdl:message name="testServiceRequest" />
    - <wsdl:portType name="TestService">
    - <wsdl:operation name="testService">
      <wsdl:input message="impl:testServiceRequest" name="testServiceRequest" />
      <wsdl:output message="impl:testServiceResponse" name="testServiceResponse" />
      </wsdl:operation>
    - <wsdl:operation name="add" parameterOrder="x">
      <wsdl:input message="impl:addRequest" name="addRequest" />
      <wsdl:output message="impl:addResponse" name="addResponse" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="TestSoapBinding" type="impl:TestService">
      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="testService">
      <wsdlsoap:operation soapAction="" />
    - <wsdl:input name="testServiceRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.avon.com" use="encoded" />
      </wsdl:input>
    - <wsdl:output name="testServiceResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://v:9090/services/Test" use="encoded" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="add">
      <wsdlsoap:operation soapAction="" />
    - <wsdl:input name="addRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://services.avon.com" use="encoded" />
      </wsdl:input>
    - <wsdl:output name="addResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://v:9090/services/Test" use="encoded" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="TestServiceService">
    - <wsdl:port binding="impl:TestSoapBinding" name="Test">
      <wsdlsoap:address location="http://v:9090/services/Test" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

    1. The export button is only for use with Single Edition publications, for customers who are not using Creative Cloud.
    2. All DPS issues are hosted by Adobe, you cannot host them on your own server.
    3. The DPS pricing model is based around a per-issue download charge. There is no way to distribute content with DPS and avoid that charge.
    Neil

Maybe you are looking for

  • Looking for Maintenance order detail table

    hi, AFIH - Maintenance order header I am looking for a Maintenance order detail table, is there any table..... In this same way like VBAK (Header) and VBAP (Item). Thanks, Fract

  • My premier keeps opening as an expired trial version even though I have a creative cloud plan.

    I have an up to date payed for plan for premier with creative cloud but every time I open Premier on my desktop it opens as a trial version.  Now that trial has expired and I can't open it and it diverts me to a page to pay again. How do I get the ap

  • Got a call from someone saying they were from Microsoft but it seemed fishy

    Today I got a call from someone with a strong Indian accent claiming they were from microsoft and that my computer was in critical condition. I can't recall microsoft ever calling people personally about this so it automatically seemed like a scam. I

  • Importing existing DC project (WebDynpro Java)

    Hi Experts, I have a WebDynpro Java project which I had exported from my previous project. Now when I am trying to import it again in NWDS, it says *.project file not found. The reason is that my project was a DC project and not a WebDynpro project.

  • Last call for DAQ photos

    I�m looking for some impressive DAQ photos in which LabVIEW is used. Prentice Hall will be publishing my �LabVIEW for Data Acquisition� book later this year, and I�d like to include such DAQ photos in this book. In particular, I�d like photos of NI�s