You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2015/07/31 04:59:20 UTC
[40/81] [abbrv] [partial] zest-java git commit: First round of
changes to move to org.apache.zest namespace.
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListener.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListener.java b/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListener.java
deleted file mode 100644
index 3562c6e..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2011, Rickard Öberg.
- * Copyright (c) 2012, Niclas Hedhman.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.qi4j.api.activation;
-
-/**
- * Listener for ActivationEvent events
- */
-public interface ActivationEventListener
-{
- void onEvent( ActivationEvent event )
- throws Exception;
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListenerRegistration.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListenerRegistration.java b/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListenerRegistration.java
deleted file mode 100644
index 41e3b5e..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/ActivationEventListenerRegistration.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2011, Rickard Öberg.
- * Copyright (c) 2012, Niclas Hedhman.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.qi4j.api.activation;
-
-/**
- * Use this to register listeners for ActivationEvents.
- *
- * This is implemented by Application, Layer, Module, for example.
- */
-public interface ActivationEventListenerRegistration
-{
- /**
- * @param listener will be notified when Activation events occur
- */
- void registerActivationEventListener( ActivationEventListener listener );
-
- /**
- * @param listener will not be notified when Activation events occur anymore
- */
- void deregisterActivationEventListener( ActivationEventListener listener );
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/ActivationException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/ActivationException.java b/core/api/src/main/java/org/qi4j/api/activation/ActivationException.java
deleted file mode 100644
index 30d06be..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/ActivationException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2013 Niclas Hedhman.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.activation;
-
-/**
- * Thrown when unable to activate.
- */
-public class ActivationException extends Exception
-{
- private static final long serialVersionUID = 1L;
- public ActivationException( String message, Throwable cause )
- {
- super( message, cause );
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/Activator.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/Activator.java b/core/api/src/main/java/org/qi4j/api/activation/Activator.java
deleted file mode 100644
index 2cba184..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/Activator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2012 Paul Merlin.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.activation;
-
-/**
- * Assemble Activators to hook Services Activation.
- *
- * @param <ActivateeType> Type of the activatee.
- *
- * @see ActivatorAdapter
- * @see org.qi4j.api.service.ServiceActivation
- */
-public interface Activator<ActivateeType>
-{
-
- /**
- * Called before activatee activation.
- */
- void beforeActivation( ActivateeType activating )
- throws Exception;
-
- /**
- * Called after activatee activation.
- */
- void afterActivation( ActivateeType activated )
- throws Exception;
-
- /**
- * Called before activatee passivation.
- */
- void beforePassivation( ActivateeType passivating )
- throws Exception;
-
- /**
- * Called after activatee passivation.
- */
- void afterPassivation( ActivateeType passivated )
- throws Exception;
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/ActivatorAdapter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/ActivatorAdapter.java b/core/api/src/main/java/org/qi4j/api/activation/ActivatorAdapter.java
deleted file mode 100644
index 59652b9..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/ActivatorAdapter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2012 Paul Merlin.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.activation;
-
-/**
- * Adapter for Activator.
- * <p>If you are thinking about Service activation, see {@link org.qi4j.api.service.ServiceActivatorAdapter}.</p>
- *
- * @param <ActivateeType> Type of the activatee.
- */
-public class ActivatorAdapter<ActivateeType>
- implements Activator<ActivateeType>
-{
- /**
- * Called before activatee activation.
- * @param activating Activating activatee
- */
- @Override
- public void beforeActivation( ActivateeType activating )
- throws Exception
- {
- }
-
- /**
- * Called after activatee activation.
- * @param activated Activating activatee
- */
- @Override
- public void afterActivation( ActivateeType activated )
- throws Exception
- {
- }
-
- /**
- * Called before activatee passivation.
- * @param passivating Passivating activatee
- */
- @Override
- public void beforePassivation( ActivateeType passivating )
- throws Exception
- {
- }
-
- /**
- * Called after activatee passivation.
- * @param passivated Passivated activatee
- */
- @Override
- public void afterPassivation( ActivateeType passivated )
- throws Exception
- {
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/ActivatorDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/ActivatorDescriptor.java b/core/api/src/main/java/org/qi4j/api/activation/ActivatorDescriptor.java
deleted file mode 100644
index bfe3fee..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/ActivatorDescriptor.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2014, Paul Merlin. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.activation;
-
-/**
- * Activator Descriptor.
- */
-public interface ActivatorDescriptor
-{
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/Activators.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/Activators.java b/core/api/src/main/java/org/qi4j/api/activation/Activators.java
deleted file mode 100644
index 8d0f7e6..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/Activators.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012 Paul Merlin.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.activation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * This annotation is used in ServiceComposites to declare Activator implementation classes.
- */
-@Retention( RetentionPolicy.RUNTIME )
-@Target( ElementType.TYPE )
-@Documented
-public @interface Activators
-{
-
- /**
- * @return Activator implementation classes.
- */
- Class<? extends Activator<?>>[] value();
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/ApplicationPassivationThread.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/ApplicationPassivationThread.java b/core/api/src/main/java/org/qi4j/api/activation/ApplicationPassivationThread.java
deleted file mode 100644
index 62b1f67..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/ApplicationPassivationThread.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2013 Paul Merlin.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.activation;
-
-import java.io.PrintStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.qi4j.api.structure.Application;
-
-/**
- * Application Passivation Thread to use as a Shutdown Hook.
- * <pre>Runtime.getRuntime().addShutdownHook( new ApplicationPassivationThread( application ) );</pre>
- * <p>Constructors to control where errors are logged are provided. They support PrintStream (STDOUT/STDERR) and SLF4J
- * Loggers. Defaults to STDERR.</p>
- */
-public final class ApplicationPassivationThread
- extends Thread
-{
- /**
- * Create a new Application Passivation Thread that output errors to STDERR.
- * @param application The Application to passivate
- */
- public ApplicationPassivationThread( final Application application )
- {
- this( application, null, null );
- }
-
- /**
- * Create a new Application Passivation Thread that output errors to a Logger.
- * @param application The Application to passivate
- * @param logger Logger for errors
- */
- public ApplicationPassivationThread( Application application, Logger logger )
- {
- this( application, null, logger );
- }
-
- /**
- * Create a new Application Passivation Thread that output errors to a PrintStream.
- * @param application The Application to passivate
- * @param output PrintStream for errors
- */
- public ApplicationPassivationThread( Application application, PrintStream output )
- {
- this( application, output, null );
- }
-
- private ApplicationPassivationThread( Application application, PrintStream output, Logger logger )
- {
- super( new ApplicationPassivation( application, output, logger ),
- application.name() + " Passivation Thread" );
- }
-
- private static class ApplicationPassivation
- implements Runnable
- {
-
- private final Application application;
- private final PrintStream output;
- private final Logger logger;
-
- private ApplicationPassivation( Application application, PrintStream output, Logger logger )
- {
- this.application = application;
- this.output = output;
- this.logger = logger;
- }
-
- @Override
- public void run()
- {
- try
- {
- application.passivate();
- }
- catch( PassivationException ex )
- {
- String message = application.name() + " " + ex.getMessage();
- if( logger != null )
- {
- logger.log( Level.SEVERE, message, ex );
- }
- else if( output != null )
- {
- output.println( message );
- ex.printStackTrace( output );
- }
- else
- {
- ex.printStackTrace();
- }
- }
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/PassivationException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/PassivationException.java b/core/api/src/main/java/org/qi4j/api/activation/PassivationException.java
deleted file mode 100644
index c3f33fe..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/PassivationException.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2009 Niclas Hedhman.
- * Copyright 2013 Paul Merlin.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.activation;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * Thrown when unable to passivate.
- *
- * Printed StackTrace contains all causes in order as suppressed exceptions.
- */
-public final class PassivationException
- extends Exception
-{
-
- private static final long serialVersionUID = 1L;
- private final List<Exception> causes;
-
- /**
- * Create new PassivationException.
- * @param exceptions All exceptions encountered during passivation, in order
- */
- public PassivationException( Collection<Exception> exceptions )
- {
- super( "Passivation Exception - [has " + exceptions.size() + " cause(s)]" );
- for( Throwable cause : exceptions )
- {
- addSuppressed( cause );
- }
- this.causes = new ArrayList<>( exceptions );
- }
-
- /**
- * @return All exceptions encountered during passivation, in order
- */
- public List<Exception> causes()
- {
- return causes;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/activation/package.html
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/activation/package.html b/core/api/src/main/java/org/qi4j/api/activation/package.html
deleted file mode 100644
index 47b333a..0000000
--- a/core/api/src/main/java/org/qi4j/api/activation/package.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<html>
- <body>
- <h2>Activation API.</h2>
- <p>
- The Activation API package contains types used by client code to integrate with the Zest™ Runtime activation
- mechanism. In assembly, client code can easily listen to Structure (Application, Layers and Modules) and
- Services activation events, or, declare Structure and Service Activators.
- </p>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/AbstractAssociation.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/AbstractAssociation.java b/core/api/src/main/java/org/qi4j/api/association/AbstractAssociation.java
deleted file mode 100644
index 60afce2..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/AbstractAssociation.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.association;
-
-/**
- * Base interface for all associations.
- */
-public interface AbstractAssociation
-{
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/Association.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/Association.java b/core/api/src/main/java/org/qi4j/api/association/Association.java
deleted file mode 100644
index acd406f..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/Association.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.association;
-
-import org.qi4j.api.entity.EntityReference;
-
-/**
- * Association to a single EntityComposite.
- */
-public interface Association<T> extends AbstractAssociation
-{
- /**
- * Get the associated entity.
- *
- * @return the associated entity
- */
- T get();
-
- /**
- * Set the associated entity.
- *
- * @param associated the entity
- *
- * @throws IllegalArgumentException thrown if the entity is not a valid reference for this association
- * @throws IllegalStateException thrown if association is immutable
- */
- void set( T associated )
- throws IllegalArgumentException, IllegalStateException;
-
- /**
- * @return the the reference of the associated entity.
- */
- EntityReference reference();
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/AssociationDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/AssociationDescriptor.java b/core/api/src/main/java/org/qi4j/api/association/AssociationDescriptor.java
deleted file mode 100644
index 9f7576a..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/AssociationDescriptor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.association;
-
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.Type;
-import org.qi4j.api.common.QualifiedName;
-import org.qi4j.api.structure.MetaInfoHolder;
-
-/**
- * Association Descriptor.
- */
-public interface AssociationDescriptor extends MetaInfoHolder
-{
- /**
- * Get the qualified name of the association. This is constructed by
- * concatenating the name of the declaring interface with the name
- * of the method, using ":" as separator.
- * <p>
- * Example:
- * </p>
- * <p>
- * com.somecompany.MyInterface with association method
- * </p>
- * <pre><code>
- * Association<String> someAssociation();
- * </code></pre>
- * will have the qualified name:
- * <pre><code>
- * com.somecompany.MyInterface:someAssociation
- * </code></pre>
- *
- * @return the qualified name of the association
- */
- QualifiedName qualifiedName();
-
- /**
- * Get the type of the associated Entities
- *
- * @return the type of the associated Entities
- */
- Type type();
-
- boolean isImmutable();
-
- boolean isAggregated();
-
- AccessibleObject accessor();
-
- boolean queryable();
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/AssociationMixin.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/AssociationMixin.java b/core/api/src/main/java/org/qi4j/api/association/AssociationMixin.java
deleted file mode 100644
index ac26de3..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/AssociationMixin.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.association;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import org.qi4j.api.common.AppliesTo;
-import org.qi4j.api.common.AppliesToFilter;
-import org.qi4j.api.injection.scope.State;
-
-/**
- * Generic mixin for associations.
- */
-@AppliesTo( { AssociationMixin.AssociationFilter.class } )
-public final class AssociationMixin
- implements InvocationHandler
-{
- @State
- private AssociationStateHolder associations;
-
- @Override
- public Object invoke( Object proxy, Method method, Object[] args )
- throws Throwable
- {
- return associations.associationFor( method );
- }
-
- /**
- * Associations generic mixin AppliesToFilter.
- */
- public static class AssociationFilter
- implements AppliesToFilter
- {
- @Override
- public boolean appliesTo( Method method, Class<?> mixin, Class<?> compositeType, Class<?> modifierClass )
- {
- return Association.class.isAssignableFrom( method.getReturnType() );
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/AssociationStateDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/AssociationStateDescriptor.java b/core/api/src/main/java/org/qi4j/api/association/AssociationStateDescriptor.java
deleted file mode 100644
index 83c04a4..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/AssociationStateDescriptor.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2008-2011, Rickard Öberg. All Rights Reserved.
- * Copyright (c) 2008-2013, Niclas Hedhman. All Rights Reserved.
- * Copyright (c) 2014, Paul Merlin. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.association;
-
-import org.qi4j.api.common.QualifiedName;
-import org.qi4j.api.composite.StateDescriptor;
-
-/**
- * Associations State Descriptor.
- */
-public interface AssociationStateDescriptor extends StateDescriptor
-{
- AssociationDescriptor getAssociationByName( String name )
- throws IllegalArgumentException;
-
- AssociationDescriptor getAssociationByQualifiedName( QualifiedName name )
- throws IllegalArgumentException;
-
- AssociationDescriptor getManyAssociationByName( String name )
- throws IllegalArgumentException;
-
- AssociationDescriptor getManyAssociationByQualifiedName( QualifiedName name )
- throws IllegalArgumentException;
-
- AssociationDescriptor getNamedAssociationByName( String name )
- throws IllegalArgumentException;
-
- AssociationDescriptor getNamedAssociationByQualifiedName( QualifiedName name )
- throws IllegalArgumentException;
-
- Iterable<? extends AssociationDescriptor> associations();
-
- Iterable<? extends AssociationDescriptor> manyAssociations();
-
- Iterable<? extends AssociationDescriptor> namedAssociations();
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/AssociationStateHolder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/AssociationStateHolder.java b/core/api/src/main/java/org/qi4j/api/association/AssociationStateHolder.java
deleted file mode 100644
index e33ff7f..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/AssociationStateHolder.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2008-2013, Niclas Hedhman. All Rights Reserved.
- * Copyright (c) 2014, Paul Merlin. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.association;
-
-import java.lang.reflect.AccessibleObject;
-import org.qi4j.api.property.StateHolder;
-
-/**
- * This represents the state of a entity (properties+associations).
- */
-public interface AssociationStateHolder
- extends StateHolder
-{
- /**
- * Get an association for a specific accessor method
- *
- * @param associationMethod for the association
- *
- * @return the association
- */
- <T> Association<T> associationFor( AccessibleObject associationMethod );
-
- /**
- * Get all associations
- *
- * @return iterable of associations
- */
- Iterable<? extends Association<?>> allAssociations();
-
- /**
- * Get a many-association for a specific accessor method
- *
- * @param manyassociationMethod for the many-association
- *
- * @return the association
- */
- <T> ManyAssociation<T> manyAssociationFor( AccessibleObject manyassociationMethod );
-
- /**
- * Get all ManyAssociations
- *
- * @return iterable of many-associations
- */
- Iterable<? extends ManyAssociation<?>> allManyAssociations();
-
- /**
- * Get a named-association for a specific accessor method
- *
- * @param namedassociationMethod for the named-association
- *
- * @return the association
- */
- <T> NamedAssociation<T> namedAssociationFor( AccessibleObject namedassociationMethod );
-
- /**
- * Get all NmaedAssociations
- *
- * @return iterable of named-associations
- */
- Iterable<? extends NamedAssociation<?>> allNamedAssociations();
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/AssociationWrapper.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/AssociationWrapper.java b/core/api/src/main/java/org/qi4j/api/association/AssociationWrapper.java
deleted file mode 100644
index 68777b3..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/AssociationWrapper.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.qi4j.api.association;
-
-import org.qi4j.api.entity.EntityReference;
-
-/**
- * If you want to catch getting and setting association, then create a GenericConcern
- * that wraps the Zest-supplied Association instance with AssociationWrappers. Override
- * get() and/or set() to perform your custom code.
- */
-public class AssociationWrapper
- implements Association<Object>
-{
- protected Association<Object> next;
-
- public AssociationWrapper( Association<Object> next )
- {
- this.next = next;
- }
-
- public Association<Object> next()
- {
- return next;
- }
-
- @Override
- public Object get()
- {
- return next.get();
- }
-
- @Override
- public void set( Object associated )
- throws IllegalArgumentException
- {
- next.set( associated );
- }
-
- @Override
- public EntityReference reference()
- {
- return next.reference();
- }
-
- @Override
- public int hashCode()
- {
- return next.hashCode();
- }
-
- @Override
- public boolean equals( Object obj )
- {
- return next.equals( obj );
- }
-
- @Override
- public String toString()
- {
- return next.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/GenericAssociationInfo.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/GenericAssociationInfo.java b/core/api/src/main/java/org/qi4j/api/association/GenericAssociationInfo.java
deleted file mode 100644
index 7173547..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/GenericAssociationInfo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2008 Niclas Hedhman. All rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.association;
-
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-import static org.qi4j.api.util.Classes.typeOf;
-
-/**
- * Generic Association info.
- */
-public final class GenericAssociationInfo
-{
- public static Type associationTypeOf( AccessibleObject accessor )
- {
- return toAssociationType( typeOf( accessor ) );
- }
-
- public static Type toAssociationType( Type methodReturnType )
- {
- if( methodReturnType instanceof ParameterizedType )
- {
- ParameterizedType parameterizedType = (ParameterizedType) methodReturnType;
- if( AbstractAssociation.class.isAssignableFrom( (Class<?>) parameterizedType.getRawType() ) )
- {
- return parameterizedType.getActualTypeArguments()[ 0 ];
- }
- }
-
- Type[] interfaces = ( (Class<?>) methodReturnType ).getGenericInterfaces();
- for( Type anInterface : interfaces )
- {
- Type associationType = toAssociationType( anInterface );
- if( associationType != null )
- {
- return associationType;
- }
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/ManyAssociation.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/ManyAssociation.java b/core/api/src/main/java/org/qi4j/api/association/ManyAssociation.java
deleted file mode 100644
index 37d7211..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/ManyAssociation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.association;
-
-import java.util.List;
-import java.util.Set;
-import org.qi4j.api.entity.EntityReference;
-
-/**
- * Association to a collection of entities.
- */
-public interface ManyAssociation<T> extends Iterable<T>, AbstractAssociation
-{
- /**
- * Returns the number of references in this association.
- * @return the number of references in this association.
- */
- int count();
-
- boolean contains( T entity );
-
- boolean add( int i, T entity );
-
- boolean add( T entity );
-
- boolean remove( T entity );
-
- T get( int i );
-
- List<T> toList();
-
- Set<T> toSet();
-
- /**
- * Returns an unmodifiable Iterable of the references to the associated entities.
- * @return the references to the associated entities.
- */
- Iterable<EntityReference> references();
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/ManyAssociationMixin.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/ManyAssociationMixin.java b/core/api/src/main/java/org/qi4j/api/association/ManyAssociationMixin.java
deleted file mode 100644
index 5b2177d..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/ManyAssociationMixin.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.association;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import org.qi4j.api.common.AppliesTo;
-import org.qi4j.api.common.AppliesToFilter;
-import org.qi4j.api.injection.scope.State;
-
-/**
- * Generic mixin for associations.
- */
-@AppliesTo( { ManyAssociationMixin.AssociationFilter.class } )
-public final class ManyAssociationMixin
- implements InvocationHandler
-{
- @State
- private AssociationStateHolder associations;
-
- @Override
- public Object invoke( Object proxy, Method method, Object[] args )
- throws Throwable
- {
- return associations.manyAssociationFor( method );
- }
-
- /**
- * ManyAssociations generic mixin AppliesToFilter.
- */
- public static class AssociationFilter
- implements AppliesToFilter
- {
- @Override
- public boolean appliesTo( Method method, Class<?> mixin, Class<?> compositeType, Class<?> modifierClass )
- {
- return ManyAssociation.class.isAssignableFrom( method.getReturnType() );
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/ManyAssociationWrapper.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/ManyAssociationWrapper.java b/core/api/src/main/java/org/qi4j/api/association/ManyAssociationWrapper.java
deleted file mode 100644
index aee7804..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/ManyAssociationWrapper.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.qi4j.api.association;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import org.qi4j.api.entity.EntityReference;
-
-/**
- * If you want to catch calls to ManyAssociations, then create a GenericConcern
- * that wraps the Zest-supplied ManyAssociation instance with ManyAssociationWrappers. Override
- * methods to perform your custom code.
- */
-public class ManyAssociationWrapper
- implements ManyAssociation<Object>
-{
- protected ManyAssociation<Object> next;
-
- public ManyAssociationWrapper( ManyAssociation<Object> next )
- {
- this.next = next;
- }
-
- public ManyAssociation<Object> next()
- {
- return next;
- }
-
- @Override
- public int count()
- {
- return next.count();
- }
-
- @Override
- public boolean contains( Object entity )
- {
- return next.contains( entity );
- }
-
- @Override
- public boolean add( int i, Object entity )
- {
- return next.add( i, entity );
- }
-
- @Override
- public boolean add( Object entity )
- {
- return next.add( entity );
- }
-
- @Override
- public boolean remove( Object entity )
- {
- return next.remove( entity );
- }
-
- @Override
- public Object get( int i )
- {
- return next.get( i );
- }
-
- @Override
- public List<Object> toList()
- {
- return next.toList();
- }
-
- @Override
- public Set<Object> toSet()
- {
- return next.toSet();
- }
-
- @Override
- public Iterable<EntityReference> references()
- {
- return next.references();
- }
-
- @Override
- public Iterator<Object> iterator()
- {
- return next.iterator();
- }
-
- @Override
- public int hashCode()
- {
- return next.hashCode();
- }
-
- @Override
- public boolean equals( Object obj )
- {
- return next.equals( obj );
- }
-
- @Override
- public String toString()
- {
- return next.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/NamedAssociation.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/NamedAssociation.java b/core/api/src/main/java/org/qi4j/api/association/NamedAssociation.java
deleted file mode 100644
index 61c9c9a..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/NamedAssociation.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2011-2012, Niclas Hedhman. All Rights Reserved.
- * Copyright (c) 2014, Paul Merlin. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.association;
-
-import java.util.Map;
-import org.qi4j.api.entity.EntityReference;
-
-/**
- * Association to named Entities.
- * The Iterable<String> returns the names in the association set.
- * @param <T> Parameterized associatee type
- */
-public interface NamedAssociation<T>
- extends Iterable<String>, AbstractAssociation
-{
- /**
- * @return The number of named associations in this NamedAssociation.
- */
- int count();
-
- /**
- * Checks if there is an association with the given name.
- * @param name The name of the association we are checking if it exists.
- * @return true if it exists, false otherwise
- */
- boolean containsName( String name );
-
- /**
- * Adds a named assocation.
- * @param name The name of the association.
- * @param entity The entity for this named association.
- * @return true if putted, false otherwise
- */
- boolean put( String name, T entity );
-
- /**
- * Remove a named association.
- * @param name The name of the association.
- * @return true if removed, false otherwise
- */
- boolean remove( String name );
-
- /**
- * Retrieves a named association.
- * @param name The name of the association.
- * @return The entity that has previously been associated.
- */
- T get( String name );
-
- /**
- * Checks if the entity is present.
- * Note that this is potentially a very slow operation, depending on the size of the NamedAssociation.
- * @param entity The entity to look for.
- * @return The name of the entity if found, otherwise null.
- */
- String nameOf( T entity );
-
- /**
- * @return A fully populated Map with the content of this NamedAssociation.
- */
- Map<String, T> toMap();
-
- /**
- * Returns an unmodifiable Iterable of the references to the associated entities.
- * @return the references to the associated entities.
- */
- Iterable<EntityReference> references();
-
- /** Returns the EntityReference for the Association with the given name.
- *
- * @param name The name of the association to return the EntityReference for
- * @return The EntityReference of the association.
- */
- EntityReference referenceOf( String name );
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/NamedAssociationMixin.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/NamedAssociationMixin.java b/core/api/src/main/java/org/qi4j/api/association/NamedAssociationMixin.java
deleted file mode 100644
index d612ed6..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/NamedAssociationMixin.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2011-2012, Niclas Hedhman. All Rights Reserved.
- * Copyright (c) 2014, Paul Merlin. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.association;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import org.qi4j.api.common.AppliesTo;
-import org.qi4j.api.common.AppliesToFilter;
-import org.qi4j.api.injection.scope.State;
-
-/**
- * Generic mixin for NamedAssociations.
- */
-@AppliesTo( NamedAssociationMixin.AssociationFilter.class )
-public final class NamedAssociationMixin
- implements InvocationHandler
-{
- @State
- private AssociationStateHolder associations;
-
- @Override
- public Object invoke( Object proxy, Method method, Object[] args )
- throws Throwable
- {
- return associations.namedAssociationFor( method );
- }
-
- /**
- * NamedAssociations generic mixin AppliesToFilter.
- */
- public static class AssociationFilter
- implements AppliesToFilter
- {
- @Override
- public boolean appliesTo( Method method, Class<?> mixin, Class<?> compositeType, Class<?> modifierClass )
- {
- return NamedAssociation.class.isAssignableFrom( method.getReturnType() );
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/NamedAssociationWrapper.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/NamedAssociationWrapper.java b/core/api/src/main/java/org/qi4j/api/association/NamedAssociationWrapper.java
deleted file mode 100644
index 814644a..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/NamedAssociationWrapper.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2011-2012, Niclas Hedhman. All Rights Reserved.
- * Copyright (c) 2014, Paul Merlin. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.association;
-
-import java.util.Iterator;
-import java.util.Map;
-import org.qi4j.api.entity.EntityReference;
-
-/**
- * If you want to catch calls to NamedAssociations, then create a GenericConcern
- * that wraps the Zest-supplied NamedAssociations instance with NamedAssociationsWrapper. Override
- * methods to perform your custom code.
- */
-public class NamedAssociationWrapper
- implements NamedAssociation<Object>
-{
- protected NamedAssociation<Object> next;
-
- public NamedAssociationWrapper( NamedAssociation<Object> next )
- {
- this.next = next;
- }
-
- public NamedAssociation<Object> next()
- {
- return next;
- }
-
- @Override
- public Iterator<String> iterator()
- {
- return next.iterator();
- }
-
- @Override
- public int count()
- {
- return next.count();
- }
-
- @Override
- public boolean containsName( String name )
- {
- return next.containsName( name );
- }
-
- @Override
- public boolean put( String name, Object entity )
- {
- return next.put( name, entity );
- }
-
- @Override
- public boolean remove( String name )
- {
- return next.remove( name );
- }
-
- @Override
- public Object get( String name )
- {
- return next.get( name );
- }
-
- @Override
- public String nameOf( Object entity )
- {
- return next.nameOf( entity );
- }
-
- @Override
- public Map<String, Object> toMap()
- {
- return next.toMap();
- }
-
- @Override
- public Iterable<EntityReference> references()
- {
- return next.references();
- }
-
- @Override
- public EntityReference referenceOf( String name )
- {
- return next.referenceOf( name );
- }
-
- @Override
- public int hashCode()
- {
- return next.hashCode();
- }
-
- @Override
- public boolean equals( Object obj )
- {
- return next.equals( obj );
- }
-
- @Override
- public String toString()
- {
- return next.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/association/package.html
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/association/package.html b/core/api/src/main/java/org/qi4j/api/association/package.html
deleted file mode 100644
index cf48596..0000000
--- a/core/api/src/main/java/org/qi4j/api/association/package.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<html>
- <body>
- <h2>Association API.</h2>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/cache/CacheOptions.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/cache/CacheOptions.java b/core/api/src/main/java/org/qi4j/api/cache/CacheOptions.java
deleted file mode 100644
index ccfc286..0000000
--- a/core/api/src/main/java/org/qi4j/api/cache/CacheOptions.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2010 Niclas Hedhman.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.qi4j.api.cache;
-
-/**
- * CacheOptions is a metaInfo class for the Cache system for Entity persistence.
- * CacheOptions should be assigned to the Usecase of the UnitOfWork, to give hint on caching to entity stores.
- * See {@link org.qi4j.api.usecase.UsecaseBuilder} on how to set the metaInfo on Usecases.
- */
-public final class CacheOptions
-{
- public static final CacheOptions ALWAYS = new CacheOptions( true, true, true );
- public static final CacheOptions NEVER = new CacheOptions( false, false, false );
-
- private final boolean cacheOnRead;
- private final boolean cacheOnWrite;
- private final boolean cacheOnNew;
-
- /**
- * Constructor for CacheOptions.
- *
- * @param cacheOnRead if true, give the hint to the Cache system that it may not be a good idea to cache the
- * read values. This is useful when it is known that the read will be over a large set and
- * shouldn't affect the existing cached entities. For instance, when traversing the EntityStore
- * this option is set to false.
- * @param cacheOnWrite if true, give the hint to the Cache system that it may not be a good idea to cache the
- * entity when the value is updated. If this is false, the cache should be emptied from any
- * cached entity instead of updated. There are few cases when this is useful, and if this is
- * false, it makes sense that the <i>cacheOnRead</i> is also false.
- * @param cacheOnNew if true, give the hint to the Cache system that it may not be a good idea to cache a newly
- * created Entity, as it is not likely to be read in the near future. This is useful when
- * batch inserts are being made.
- */
- public CacheOptions( boolean cacheOnRead, boolean cacheOnWrite, boolean cacheOnNew )
- {
- this.cacheOnRead = cacheOnRead;
- this.cacheOnWrite = cacheOnWrite;
- this.cacheOnNew = cacheOnNew;
- }
-
- /**
- * @return if true, give the hint to the Cache system that it may not be a good idea to cache the
- * read values. This is useful when it is known that the read will be over a large set and
- * shouldn't affect the existing cached entities. For instance, when traversing the EntityStore
- */
- public boolean cacheOnRead()
- {
- return cacheOnRead;
- }
-
- /**
- * @return if true, give the hint to the Cache system that it may not be a good idea to cache the
- * entity when the value is updated. If this is false, the cache should be emptied from any
- * cached entity instead of updated. There are few cases when this is useful, and if this is
- * false, it makes sense that the <i>cacheOnRead</i> is also false.
- */
- public boolean cacheOnWrite()
- {
- return cacheOnWrite;
- }
-
- /**
- * @return if true, give the hint to the Cache system that it may not be a good idea to cache a newly
- * created Entity, as it is not likely to be read in the near future. This is useful when
- * batch inserts are being made.
- */
- public boolean cacheOnNew()
- {
- return cacheOnNew;
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/cache/package.html
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/cache/package.html b/core/api/src/main/java/org/qi4j/api/cache/package.html
deleted file mode 100644
index a62da34..0000000
--- a/core/api/src/main/java/org/qi4j/api/cache/package.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<html>
- <body>
- <h2>Cache API.</h2>
- <p>
- The Cache API/SPI is an extension point for Entity Store caching.
- </p>
- <p>
- The API part is only to allow caching options to be passed to the underlying extension in a uniform and
- standard way. CacheOptions are to be passed as meta info on the optional Cache extension that is specified
- during assembly phase. Example;
- </p>
-<pre><code>
-public void assemble( ModuleAssembly module )
-{
- CacheOptions options = new CacheOptions( true, true, false );
- module.addServices( EhCacheService.class ).setMetaInfo( options );
-}
-</code></pre>
- <p>
- Not all EntityStore implementations use the Cache extension, so check the implementation details of the
- EntityStore whether the cache extension can bring any benefits or not.
- </p>
- </body>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/common/AppliesTo.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/common/AppliesTo.java b/core/api/src/main/java/org/qi4j/api/common/AppliesTo.java
deleted file mode 100644
index b23f204..0000000
--- a/core/api/src/main/java/org/qi4j/api/common/AppliesTo.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- * Copyright (c) 2007, Niclas Hedhman. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- */
-
-package org.qi4j.api.common;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Fragments that implement InvocationHandler and which should only be applied to methods that have a particular
- * annotation or implement a known interface should use this annotation.
- * <p>
- * @AppliesTo can specify one of;
- * </p>
- * <ul>
- * <li>An annotation,</li>
- * <li>An interface,</li>
- * <li>An AppliesToFilter implementation.</li>
- * </ul>
- * <p>
- * Example with annotation:
- * </p>
- * <pre><code>
- *
- * @AppliesTo( Sessional.class ) // Tells Zest to apply this concern on methods with @Sessional annotation
- * public class SessionConcern extends GenericConcern
- * {
- * public Object invoke( Object proxy, Method method, Object[] args )
- * throws Throwable
- * {
- * ... do session stuff ...
- * }
- * }
- *
- * @Retention( RetentionPolicy.RUNTIME )
- * @Target( ElementType.METHOD )
- * @Documented
- * @Inherited
- * public @interface Sessional
- * {
- * }
- *
- * public class MyMixin
- * implements My
- * {
- * @Sessional
- * public void doSomethingSessional()
- * {
- * // ... do your logic wrapped in a session
- * }
- *
- * public void doSomethingWithoutSession()
- * {
- * // ... do stuff that are not wrapped in session.
- * }
- * }
- *
- * public interface My
- * {
- * void doSomethingSessional();
- *
- * void doSomethingWithoutSession();
- * }
- *
- * @Concerns( SessionConcern.class )
- * @Mixins( MyMixin.class )
- * public interface MyComposite extends My, TransientComposite
- * {}
- * </code></pre>
- * <p>
- * The doSomethingWithoutSession method do not have the @Sessional annotation, therefore the SessionConcern will
- * not be placed into the call sequence of these methods, and
- * vice-versa. The @Sessional annotation can be placed either on the interface method or the implementation
- * method, depending on whether it is a contract or implementation detail.
- * </p>
- */
-@Retention( RetentionPolicy.RUNTIME )
-@Target( { ElementType.TYPE, ElementType.METHOD } )
-@Documented
-public @interface AppliesTo
-{
- /**
- * List of interfaces, annotations or AppliesToFilter
- * implementation classes.
- * If one of them matches the current element it will be
- * accepted, so this list can be considered an "or".
- *
- * @return array of classes or interfaces to be used by the filter
- */
- Class<?>[] value();
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/common/AppliesToFilter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/common/AppliesToFilter.java b/core/api/src/main/java/org/qi4j/api/common/AppliesToFilter.java
deleted file mode 100644
index f356cf4..0000000
--- a/core/api/src/main/java/org/qi4j/api/common/AppliesToFilter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.common;
-
-import java.lang.reflect.Method;
-
-/**
- * Implementations of this interface can be specified in the @AppliesTo.
- * <p>
- * AppliesTo filters are one of the driving technologies in Zest. They allow you to apply fragments (Mixins,
- * Concerns, SideEffects), often generic ones, depending on the context that they are evaluated under. This
- * mechanism is heavily used internally in Zest to achieve many other features.
- * </p>
- * <p>
- * The starting point is the basic use of AppliesToFilter, where the @AppliesTo annotation is given an
- * AppliesToFilter implementation as an argument, for instance at a Mixin implementation;
- * </p>
- * <pre><code>
- * @AppliesTo( MyAppliesToFilter.class )
- * public class SomeMixin
- * implements InvocationHandler
- * {
- *
- * }
- *
- * public class MyAppliesToFilter
- * implements AppliesToFilter
- * {
- * public boolean appliesTo( Method method, Class<?> mixin, Class<?> compositeType, Class<?> fragmentClass )
- * {
- * return method.getName().startsWith( "my" );
- * }
- * }
- * </code></pre>
- * <p>
- * In the case above, the generic mixin will only be applied to the methods that that is defined by the
- * AppliesToFilter. This is the primary way to define limits on the application of generic fragments, since
- * especially mixins are rarely applied to all methods.
- * </p>
- */
-public interface AppliesToFilter
-{
- /**
- * This is an internal AppliesToFilter which is assigned if no other AppliesToFilters are found for a given
- * fragment.
- * <p>
- * There is no reason for user code to use this AppliesToFilter directly, and should be perceived as an
- * internal class in Zest.
- * </p>
- */
- AppliesToFilter ALWAYS = new AppliesToFilter()
- {
- @Override
- public boolean appliesTo( Method method, Class<?> mixin, Class<?> compositeType, Class<?> fragmentClass )
- {
- return true;
- }
- };
-
- /**
- * Check if the Fragment should be applied or not. Will be call when applied to Mixins, Concerns, SideEffects.
- *
- * @param method method that is invoked
- * @param mixin mixin implementation for the method
- * @param compositeType composite type
- * @param fragmentClass fragment that is being applies
- *
- * @return true if the filter passes, otherwise false
- */
- boolean appliesTo( Method method, Class<?> mixin, Class<?> compositeType, Class<?> fragmentClass );
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/common/ConstructionException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/common/ConstructionException.java b/core/api/src/main/java/org/qi4j/api/common/ConstructionException.java
deleted file mode 100644
index 9957e63..0000000
--- a/core/api/src/main/java/org/qi4j/api/common/ConstructionException.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- * Copyright (c) 2007, Niclas Hedhman. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.qi4j.api.common;
-
-/**
- * Thrown when a Fragment or object could not be instantiated.
- * This includes, but not be limited to;
- * <ul>
- * <li>private constructor.</li>
- * <li>abstract class for Constraints.</li>
- * <li>interface instead of a class.</li>
- * <li>useful constructor missing.</li>
- * <li>exception thrown in the constructor.</li>
- * <li>Subclassing of org.qi4j.api.property.Property</li>
- * </ul>
- * <p>
- * See the nested exception for additional details.
- * </p>
- */
-public class ConstructionException
- extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
-
- public ConstructionException()
- {
- }
-
- public ConstructionException( String message )
- {
- super( message );
- }
-
- public ConstructionException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
- public ConstructionException( Throwable cause )
- {
- super( cause );
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/common/InvalidApplicationException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/common/InvalidApplicationException.java b/core/api/src/main/java/org/qi4j/api/common/InvalidApplicationException.java
deleted file mode 100644
index 5769fad..0000000
--- a/core/api/src/main/java/org/qi4j/api/common/InvalidApplicationException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.common;
-
-/**
- * Thrown when an application is considered to not be constructed properly.
- * This happens primarily when client code tries to instantiate Composites
- * and objects which have not been registered in the ModuleAssembly.
- */
-public class InvalidApplicationException
- extends RuntimeException
-{
- private static final long serialVersionUID = 1L;
-
- public InvalidApplicationException( String string )
- {
- super( string );
- }
-
- public InvalidApplicationException( String string, Throwable cause )
- {
- super( string, cause );
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/common/MetaInfo.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/common/MetaInfo.java b/core/api/src/main/java/org/qi4j/api/common/MetaInfo.java
deleted file mode 100644
index b746711..0000000
--- a/core/api/src/main/java/org/qi4j/api/common/MetaInfo.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2008, Rickard Öberg. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.qi4j.api.common;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Type;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import org.qi4j.api.concern.Concerns;
-import org.qi4j.api.mixin.Mixins;
-import org.qi4j.api.sideeffect.SideEffects;
-import org.qi4j.api.util.Classes;
-
-import static java.util.Arrays.asList;
-import static org.qi4j.api.util.Classes.typesOf;
-
-/**
- * Used to declare and access meta-info.
- * <p>
- * <strong>This is effectively an internal class and should not be used directly.</strong>
- * </p>
- * <p>
- * MetaInfo can be set on composites during the assembly phase, a.k.a the bootstrap
- * process. MetaInfo is any additional data that one wishes to associate at the 'class level' instead of instance
- * level of a composite declaration.
- * </p>
- * <p>
- * To set the MetaInfo on a Composite, call the {@code setMetaInfo()} methods on the various composite declaration
- * types, such as;
- * </p>
- * <pre><code>
- * public void assemble( ModuleAssembly module )
- * throws AssemblyException
- * {
- * Map<String,String> properties = ...;
- * module.services( MyService.class ).setMetaInfo( properties );
- * }
- * </code></pre>
- * <p>
- * which can later be retrieved by calling the {@code metaInfo()} method on the composite itself. For the example
- * above that would be;
- * </p>
- * <pre><code>
- * @Mixins(MyServiceMixin.class)
- * public interface MyService extends ServiceComposite
- * {
- *
- * }
- *
- * public abstract class MyServiceMixin
- * implements MyService
- * {
- * private Properties props;
- *
- * public MyServiceMixin()
- * {
- * props = metaInfo( Map.class );
- * }
- * }
- * </code></pre>
- */
-public final class MetaInfo
-{
- private final static Collection<Class> ignored;
-
- static
- {
- ignored = new HashSet<Class>( 4, 0.8f ); // Optimize size used.
- ignored.addAll( asList( Mixins.class, Concerns.class, SideEffects.class ) );
- }
-
- private final Map<Class<?>, Object> metaInfoMap;
-
- public MetaInfo()
- {
- metaInfoMap = new LinkedHashMap<Class<?>, Object>();
- }
-
- public MetaInfo( MetaInfo metaInfo )
- {
- metaInfoMap = new LinkedHashMap<Class<?>, Object>();
- metaInfoMap.putAll( metaInfo.metaInfoMap );
- }
-
- public void set( Object metaInfo )
- {
- if( metaInfo instanceof Annotation )
- {
- Annotation annotation = (Annotation) metaInfo;
- metaInfoMap.put( annotation.annotationType(), metaInfo );
- }
- else
- {
- Class<?> metaInfoclass = metaInfo.getClass();
- Iterable<Type> types = typesOf( metaInfoclass );
- for( Type type : types )
- {
- metaInfoMap.put( Classes.RAW_CLASS.map( type ), metaInfo );
- }
- }
- }
-
- public <T> T get( Class<T> metaInfoType )
- {
- return metaInfoType.cast( metaInfoMap.get( metaInfoType ) );
- }
-
- public <T> void add( Class<T> infoType, T info )
- {
- metaInfoMap.put( infoType, info );
- }
-
- public MetaInfo withAnnotations( AnnotatedElement annotatedElement )
- {
- for( Annotation annotation : annotatedElement.getAnnotations() )
- {
- if( !ignored.contains( annotation.annotationType() )
- && get( annotation.annotationType() ) == null )
- {
- set( annotation );
- }
- }
- return this;
- }
-
- @Override
- public String toString()
- {
- return metaInfoMap.toString();
- }
-
- public void remove( Class serviceFinderClass )
- {
- metaInfoMap.remove( serviceFinderClass );
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/061ddaa0/core/api/src/main/java/org/qi4j/api/common/Optional.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/qi4j/api/common/Optional.java b/core/api/src/main/java/org/qi4j/api/common/Optional.java
deleted file mode 100644
index 3a070c3..0000000
--- a/core/api/src/main/java/org/qi4j/api/common/Optional.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2007, Rickard Öberg. All Rights Reserved.
- * Copyright (c) 2007, Niclas Hedhman. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.qi4j.api.common;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Annotation to denote that something is optional.
- * <ul>
- * <li>
- * If applied to a method parameter, then the value is allowed to be null. Default
- * is that method parameters have to be non-null.
- * </li>
- * <li>
- * If applied to a Property declaration, then the value may be null after construction of
- * the instance, or may be set to null at a later time.
- * </li>
- * <li>
- * If applied to an injected member field, it is allowed tha none get injected. For instance, an <code>@Optional
- * @Service</code> would allow a service to not have been declared and the field will be null.
- * </li>
- * </ul>
- * <p>
- * Optionality is not the default in Zest, and if injections, property values and parameters in methods are not
- * non-null, the Zest runtime will throw an {@link org.qi4j.api.constraint.ConstraintViolationException}, indicating
- * which field/property/parameter in which composite and mixin the problem has been detected.
- * </p>
- * <p>
- * Example;
- * </p>
- * <pre><code>
- * @Optional @Service
- * MyService service; // If no MyService instance is declared and visible to this service injection point
- * // the 'service' field will be null.
- *
- * @Service
- * YourService other; // If no YourService instance is declared and visible to this service injection point
- * // the Zest runtime will throw a ConstraintViolationException.
- *
- * </code></pre>
- */
-@Retention( RetentionPolicy.RUNTIME )
-@Target( { ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD } )
-@Documented
-public @interface Optional
-{
-}
\ No newline at end of file