Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Intertype declaration with methods returning instances of the class itself

Hi all,

	I wonder if, in Intertype declaration, is it possible for me to add a method 
to any class with a common characteristic (annotated with something, for 
example, that returns an instance of the class itself? To better understand 
what I want, let me show an example:

	@MyAnnotation
	public class A {

	}

	@MyAnnotation
	public class B {

	}

	public aspect MyAspect {
		
		// this does not compile
		public void (@MyAnnotation *).foo() {

		}

		// So, I have tried this:
		declare parents : (@MyAnnotation *) implements MyInterface;

		interface MyInterface {

		}

		// this works ok
		public void MyInterface.foo() {
			System.out.println("In foo");
		}

		// But this does not compile! I would like to create a method returning an 			
		// instance of the class itself. Any ideas about how to do this?
		public (@Singleton *) getInstance() {
			return new (@Singleton *)();
		}
	}

	Is the previous possible?

	Thanks in advance. Cheers,

		Paulo Zenida


Back to the top