polygene-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nic...@apache.org
Subject [44/57] [abbrv] [partial] polygene-java git commit: Revert "First round of changes to move to org.apache.zest namespace."
Date Thu, 21 Dec 2017 07:12:37 GMT
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/NamedAssociationFunction.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/NamedAssociationFunction.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/NamedAssociationFunction.java
deleted file mode 100644
index d60468e..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/NamedAssociationFunction.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright 2011-2012 Niclas Hedhman.
- * Copyright 2014 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
- * ied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zest.api.query.grammar;
-
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.Member;
-import java.lang.reflect.Proxy;
-import org.apache.zest.api.association.AssociationStateHolder;
-import org.apache.zest.api.association.NamedAssociation;
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.api.composite.CompositeInstance;
-import org.apache.zest.functional.Function;
-
-/**
- * Function to get Entity NamedAssociations.
- */
-public class NamedAssociationFunction<T>
-    implements Function<Composite, NamedAssociation<T>>
-{
-    private final AssociationFunction<?> traversedAssociation;
-    private final ManyAssociationFunction<?> traversedManyAssociation;
-    private final NamedAssociationFunction<?> traversedNamedAssociation;
-    private final AccessibleObject accessor;
-
-    public NamedAssociationFunction( AssociationFunction<?> traversedAssociation,
-                                     ManyAssociationFunction<?> traversedManyAssociation,
-                                     NamedAssociationFunction<?> traversedNamedAssociation,
-                                     AccessibleObject accessor
-    )
-    {
-        this.traversedAssociation = traversedAssociation;
-        this.traversedManyAssociation = traversedManyAssociation;
-        this.traversedNamedAssociation = traversedNamedAssociation;
-        this.accessor = accessor;
-    }
-
-    public AssociationFunction<?> traversedAssociation()
-    {
-        return traversedAssociation;
-    }
-
-    public ManyAssociationFunction<?> traversedManyAssociation()
-    {
-        return traversedManyAssociation;
-    }
-
-    public NamedAssociationFunction<?> traversedNamedAssociation()
-    {
-        return traversedNamedAssociation;
-    }
-
-    public AccessibleObject accessor()
-    {
-        return accessor;
-    }
-
-    @Override
-    public NamedAssociation<T> map( Composite entity )
-    {
-        try
-        {
-            Object target = entity;
-            if( traversedAssociation != null )
-            {
-                target = traversedAssociation.map( entity ).get();
-            }
-            if( traversedManyAssociation != null )
-            {
-                throw new IllegalArgumentException( "Cannot traverse ManyAssociations" );
-            }
-            if( traversedNamedAssociation != null )
-            {
-                throw new IllegalArgumentException( "Cannot traverse NamedAssociations" );
-            }
-
-            CompositeInstance handler = (CompositeInstance) Proxy.getInvocationHandler( target );
-            return ( (AssociationStateHolder) handler.state() ).namedAssociationFor( accessor );
-        }
-        catch( IllegalArgumentException e )
-        {
-            throw e;
-        }
-        catch( Throwable e )
-        {
-            throw new IllegalArgumentException( e );
-        }
-    }
-
-    @Override
-    public String toString()
-    {
-        if( traversedAssociation != null )
-        {
-            return traversedAssociation.toString() + "." + ( (Member) accessor ).getName();
-        }
-        else
-        {
-            return ( (Member) accessor ).getName();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/NeSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/NeSpecification.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/NeSpecification.java
deleted file mode 100644
index 42b26c7..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/NeSpecification.java
+++ /dev/null
@@ -1,43 +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.apache.zest.api.query.grammar;
-
-/**
- * Not equals Specification.
- */
-public class NeSpecification<T>
-    extends ComparisonSpecification<T>
-{
-    public NeSpecification( PropertyFunction<T> property, T value )
-    {
-        super( property, value );
-    }
-
-    @Override
-    protected boolean compare( T value )
-    {
-        return !value.equals( this.value );
-    }
-
-    @Override
-    public String toString()
-    {
-        return property.toString() + "!=" + value.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/NotSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/NotSpecification.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/NotSpecification.java
deleted file mode 100644
index 046db37..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/NotSpecification.java
+++ /dev/null
@@ -1,53 +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.apache.zest.api.query.grammar;
-
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.functional.Specification;
-import org.apache.zest.functional.Specifications;
-
-/**
- * NOT Specification.
- */
-public class NotSpecification implements Specification<Composite>
-{
-    private Specification<Composite> operand;
-
-    public NotSpecification( Specification<Composite> operand )
-    {
-        this.operand = operand;
-    }
-
-    public Specification<Composite> operand()
-    {
-        return operand;
-    }
-
-    @Override
-    public boolean satisfiedBy( Composite item )
-    {
-        return Specifications.not( operand ).satisfiedBy( item );
-    }
-
-    @Override
-    public String toString()
-    {
-        return "!" + operand.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/OrSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/OrSpecification.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/OrSpecification.java
deleted file mode 100644
index 1daa1ad..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/OrSpecification.java
+++ /dev/null
@@ -1,56 +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.apache.zest.api.query.grammar;
-
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.functional.Specification;
-import org.apache.zest.functional.Specifications;
-
-/**
- * OR Specification.
- */
-public class OrSpecification
-    extends BinarySpecification
-{
-
-    public OrSpecification( Iterable<Specification<Composite>> operands )
-    {
-        super( operands );
-    }
-
-    @Override
-    public boolean satisfiedBy( Composite item )
-    {
-        return Specifications.or( operands ).satisfiedBy( item );
-    }
-
-    @Override
-    public String toString()
-    {
-        StringBuilder sb = new StringBuilder( "(" );
-        String or = "";
-        for( Specification<Composite> operand : operands )
-        {
-            sb.append( or ).append( operand );
-            or = " or ";
-        }
-        return sb.append( ")" ).toString();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/OrderBy.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/OrderBy.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/OrderBy.java
deleted file mode 100644
index 4fac4d4..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/OrderBy.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2007 Niclas Hedhman.
- * Copyright 2008 Alin Dreghiciu.
- *
- * 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.apache.zest.api.query.grammar;
-
-/**
- * Query sorting segment.
- */
-public class OrderBy
-{
-    /**
-     * Order direction.
-     */
-    public enum Order
-    {
-        ASCENDING, DESCENDING
-    }
-
-    /**
-     * Order.
-     */
-    private final PropertyFunction<?> propertyReference;
-    /**
-     * Direction.
-     */
-    private final Order order;
-
-    /**
-     * Constructor.
-     *
-     * @param propertyReference property that determines the order; cannot be null
-     * @param order             direction
-     *
-     * @throws IllegalArgumentException - If property is null
-     */
-    public OrderBy( final PropertyFunction<?> propertyReference,
-                    final Order order
-    )
-    {
-        if( propertyReference == null )
-        {
-            throw new IllegalArgumentException( "Ordering property cannot be null" );
-        }
-        this.propertyReference = propertyReference;
-        this.order = order;
-    }
-
-    /**
-     * Getter.
-     *
-     * @return property; cannot be null
-     */
-    public PropertyFunction<?> property()
-    {
-        return propertyReference;
-    }
-
-    /**
-     * Getter.
-     *
-     * @return direction; cannot be null
-     */
-    public Order order()
-    {
-        return order;
-    }
-
-    @Override
-    public String toString()
-    {
-        return new StringBuilder()
-            .append( propertyReference )
-            .append( " " )
-            .append( order )
-            .toString();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyFunction.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyFunction.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyFunction.java
deleted file mode 100644
index 7b6db53..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyFunction.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright 2007-2011 Rickard Öberg.
- * Copyright 2007-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
- * ied.
- *
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.zest.api.query.grammar;
-
-import java.lang.reflect.AccessibleObject;
-import java.lang.reflect.Member;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Proxy;
-import java.lang.reflect.Type;
-import org.apache.zest.api.association.Association;
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.api.composite.CompositeInstance;
-import org.apache.zest.api.property.GenericPropertyInfo;
-import org.apache.zest.api.property.Property;
-import org.apache.zest.api.query.NotQueryableException;
-import org.apache.zest.api.query.QueryExpressionException;
-import org.apache.zest.api.util.Classes;
-import org.apache.zest.functional.Function;
-
-import static org.apache.zest.api.util.Classes.typeOf;
-
-/**
- * Function to get Entity Properties.
- */
-public class PropertyFunction<T>
-    implements Function<Composite, Property<T>>
-{
-    private final PropertyFunction<?> traversedProperty;
-    private final AssociationFunction<?> traversedAssociation;
-    private final ManyAssociationFunction<?> traversedManyAssociation;
-    private final NamedAssociationFunction<?> traversedNamedAssociation;
-    private final AccessibleObject accessor;
-
-    public PropertyFunction( PropertyFunction<?> traversedProperty,
-                             AssociationFunction<?> traversedAssociation,
-                             ManyAssociationFunction<?> traversedManyAssociation,
-                             NamedAssociationFunction<?> traversedNamedAssociation,
-                             AccessibleObject accessor
-    )
-    {
-        this.traversedProperty = traversedProperty;
-        this.traversedAssociation = traversedAssociation;
-        this.traversedManyAssociation = traversedManyAssociation;
-        this.traversedNamedAssociation = traversedNamedAssociation;
-        this.accessor = accessor;
-
-        // Verify that the property accessor is not marked as non queryable
-        NotQueryableException.throwIfNotQueryable( accessor );
-        // Verify that the property type itself (value composites) is not marked as non queryable
-
-        Type returnType = typeOf( accessor );
-        if( !Property.class.isAssignableFrom( Classes.RAW_CLASS.map( returnType ) ) )
-        {
-            throw new QueryExpressionException( "Not a property type:" + returnType );
-        }
-        Type propertyTypeAsType = GenericPropertyInfo.toPropertyType( returnType );
-        if( propertyTypeAsType instanceof ParameterizedType )
-        {
-            propertyTypeAsType = ( (ParameterizedType) propertyTypeAsType ).getRawType();
-        }
-
-        if( !( propertyTypeAsType instanceof Class ) )
-        {
-            throw new QueryExpressionException( "Unsupported property type:" + propertyTypeAsType );
-        }
-        @SuppressWarnings( "unchecked" )
-        Class<T> type = (Class<T>) propertyTypeAsType;
-        NotQueryableException.throwIfNotQueryable( type );
-    }
-
-    public PropertyFunction<?> traversedProperty()
-    {
-        return traversedProperty;
-    }
-
-    public AssociationFunction<?> traversedAssociation()
-    {
-        return traversedAssociation;
-    }
-
-    public ManyAssociationFunction<?> traversedManyAssociation()
-    {
-        return traversedManyAssociation;
-    }
-
-    public NamedAssociationFunction<?> traversedNamedAssociation()
-    {
-        return traversedNamedAssociation;
-    }
-
-    public AccessibleObject accessor()
-    {
-        return accessor;
-    }
-
-    @Override
-    public Property<T> map( Composite entity )
-    {
-        try
-        {
-            Object target = entity;
-            if( traversedProperty != null )
-            {
-                Property<?> property = traversedProperty.map( entity );
-                if( property == null )
-                {
-                    return null;
-                }
-                target = property.get();
-            }
-            else if( traversedAssociation != null )
-            {
-                Association<?> association = traversedAssociation.map( entity );
-                if( association == null )
-                {
-                    return null;
-                }
-                target = association.get();
-            }
-            else if( traversedManyAssociation != null )
-            {
-                throw new IllegalArgumentException( "Cannot evaluate a ManyAssociation" );
-            }
-            else if( traversedNamedAssociation != null )
-            {
-                throw new IllegalArgumentException( "Cannot evaluate a NamedAssociation" );
-            }
-
-            if( target == null )
-            {
-                return null;
-            }
-
-            CompositeInstance handler = (CompositeInstance) Proxy.getInvocationHandler( target );
-            return handler.state().propertyFor( accessor );
-        }
-        catch( IllegalArgumentException e )
-        {
-            throw e;
-        }
-        catch( Throwable e )
-        {
-            throw new IllegalArgumentException( e );
-        }
-    }
-
-    @Override
-    public String toString()
-    {
-        if( traversedProperty != null )
-        {
-            return traversedProperty.toString() + "." + ( (Member) accessor ).getName();
-        }
-        else if( traversedAssociation != null )
-        {
-            return traversedAssociation.toString() + "." + ( (Member) accessor ).getName();
-        }
-        else
-        {
-            return ( (Member) accessor ).getName();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNotNullSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNotNullSpecification.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNotNullSpecification.java
deleted file mode 100644
index c140542..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNotNullSpecification.java
+++ /dev/null
@@ -1,60 +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.apache.zest.api.query.grammar;
-
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.api.property.Property;
-
-/**
- * Property not null Specification.
- */
-public class PropertyNotNullSpecification<T>
-    extends ExpressionSpecification
-{
-    private PropertyFunction<T> property;
-
-    public PropertyNotNullSpecification( PropertyFunction<T> property )
-    {
-        this.property = property;
-    }
-
-    public PropertyFunction<T> property()
-    {
-        return property;
-    }
-
-    @Override
-    public boolean satisfiedBy( Composite item )
-    {
-        Property<T> prop = property.map( item );
-
-        if( prop == null )
-        {
-            return false;
-        }
-
-        return prop.get() != null;
-    }
-
-    @Override
-    public String toString()
-    {
-        return property.toString() + "is not null";
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNullSpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNullSpecification.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNullSpecification.java
deleted file mode 100644
index b0acfa7..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyNullSpecification.java
+++ /dev/null
@@ -1,60 +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.apache.zest.api.query.grammar;
-
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.api.property.Property;
-
-/**
- * Property null Specification.
- */
-public class PropertyNullSpecification<T>
-    extends ExpressionSpecification
-{
-    private PropertyFunction<T> property;
-
-    public PropertyNullSpecification( PropertyFunction<T> property )
-    {
-        this.property = property;
-    }
-
-    public PropertyFunction<T> property()
-    {
-        return property;
-    }
-
-    @Override
-    public boolean satisfiedBy( Composite item )
-    {
-        Property<T> prop = property.map( item );
-
-        if( prop == null )
-        {
-            return true;
-        }
-
-        return prop.get() == null;
-    }
-
-    @Override
-    public String toString()
-    {
-        return property.toString() + "is null";
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyReference.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyReference.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyReference.java
deleted file mode 100644
index 4b30a56..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/PropertyReference.java
+++ /dev/null
@@ -1,31 +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.apache.zest.api.query.grammar;
-
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.api.property.Property;
-import org.apache.zest.functional.Function;
-
-/**
- * Property Reference.
- */
-public interface PropertyReference
-{
-    <T> Function<Composite, Property<T>> reference();
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/QuerySpecification.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/QuerySpecification.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/QuerySpecification.java
deleted file mode 100644
index a0ce311..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/QuerySpecification.java
+++ /dev/null
@@ -1,71 +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.apache.zest.api.query.grammar;
-
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.functional.Specification;
-
-/**
- * This should be used when doing native queries, such as SQL, SPARQL or similar. EntityFinders can choose
- * what type of query languages they can understand by checking the language property of a QuerySpecification
- */
-public class QuerySpecification
-    implements Specification<Composite>
-{
-    public static boolean isQueryLanguage( String language, Specification<Composite> specification )
-    {
-        if( !( specification instanceof QuerySpecification ) )
-        {
-            return false;
-        }
-
-        return ( (QuerySpecification) specification ).language().equals( language );
-    }
-
-    private String language;
-    private String query;
-
-    public QuerySpecification( String language, String query )
-    {
-        this.language = language;
-        this.query = query;
-    }
-
-    public String language()
-    {
-        return language;
-    }
-
-    public String query()
-    {
-        return query;
-    }
-
-    @Override
-    public boolean satisfiedBy( Composite item )
-    {
-        return false;
-    }
-
-    @Override
-    public String toString()
-    {
-        return language + ":" + query;
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/Variable.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/Variable.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/Variable.java
deleted file mode 100644
index 0255d52..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/Variable.java
+++ /dev/null
@@ -1,43 +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.apache.zest.api.query.grammar;
-
-/**
- * Query Variable name.
- */
-public class Variable
-{
-    private String name;
-
-    public Variable( String name )
-    {
-        this.name = name;
-    }
-
-    public String variableName()
-    {
-        return name;
-    }
-
-    @Override
-    public String toString()
-    {
-        return name;
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/grammar/package.html
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/package.html b/core/api/src/main/java/org/apache/zest/api/query/grammar/package.html
deleted file mode 100644
index e0b80f6..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/grammar/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>Query Grammar.</h2>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/query/package.html
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/package.html b/core/api/src/main/java/org/apache/zest/api/query/package.html
deleted file mode 100644
index 27e4455..0000000
--- a/core/api/src/main/java/org/apache/zest/api/query/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>Query API.</h2>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/Availability.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/Availability.java b/core/api/src/main/java/org/apache/zest/api/service/Availability.java
deleted file mode 100644
index b1b7d25..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/Availability.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2010, 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.apache.zest.api.service;
-
-/**
- * Services can implement this interface in order to allow Zest to ask
- * it whether it is currently available for use or not. This is accessed
- * by clients through the ServiceReference of the service. Services that do not
- * implement this are always considered to be available.
- */
-public interface Availability
-{
-    /**
-     * Implementations should return true if the underlying service is currently available for use.
-     *
-     * Reasons why a service might not be available is either if it has been configured not to be (see
-     * the Enabled interface), or if an underlying resource is currently unavailable.
-     *
-     * @return true if the service is available, false otherwise.
-     */
-    boolean isAvailable();
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/DuplicateServiceIdentityException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/DuplicateServiceIdentityException.java b/core/api/src/main/java/org/apache/zest/api/service/DuplicateServiceIdentityException.java
deleted file mode 100644
index 54b663b..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/DuplicateServiceIdentityException.java
+++ /dev/null
@@ -1,29 +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.apache.zest.api.service;
-
-import org.apache.zest.api.common.InvalidApplicationException;
-
-/**
- * Thrown when a duplicate service identity is detected.
- */
-public class DuplicateServiceIdentityException
-    extends InvalidApplicationException
-{
-    public DuplicateServiceIdentityException( String string )
-    {
-        super( string );
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/IdentityDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/IdentityDescriptor.java b/core/api/src/main/java/org/apache/zest/api/service/IdentityDescriptor.java
deleted file mode 100644
index 5539a60..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/IdentityDescriptor.java
+++ /dev/null
@@ -1,27 +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.apache.zest.api.service;
-
-/**
- * Identity Descriptor.
- */
-public interface IdentityDescriptor
-{
-    String identity();
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ImportedServiceDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ImportedServiceDescriptor.java b/core/api/src/main/java/org/apache/zest/api/service/ImportedServiceDescriptor.java
deleted file mode 100644
index 95270da..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ImportedServiceDescriptor.java
+++ /dev/null
@@ -1,28 +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.apache.zest.api.service;
-
-import org.apache.zest.api.composite.ModelDescriptor;
-
-/**
- * {@code ServiceDescriptor} provides meta information of a service.
- */
-public interface ImportedServiceDescriptor
-    extends ModelDescriptor, IdentityDescriptor
-{
-    Class<? extends ServiceImporter> serviceImporter();
-
-    Class<?> type();
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/NoSuchServiceException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/NoSuchServiceException.java b/core/api/src/main/java/org/apache/zest/api/service/NoSuchServiceException.java
deleted file mode 100644
index cee08a3..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/NoSuchServiceException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2012, 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.apache.zest.api.service;
-
-import org.apache.zest.api.composite.NoSuchCompositeException;
-
-/**
- * Thrown when no visible service of the requested type is found.
- */
-public class NoSuchServiceException extends NoSuchCompositeException
-{
-    public NoSuchServiceException( String typeName, String moduleName )
-    {
-        super( "ServiceComposite", typeName, moduleName );
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceActivation.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceActivation.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceActivation.java
deleted file mode 100644
index 0ef3260..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceActivation.java
+++ /dev/null
@@ -1,67 +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.apache.zest.api.service;
-
-import org.apache.zest.api.activation.Activators;
-
-/**
- * Convenience interface for simple Service Activation.
- *
- * Let your ServiceComposite extends ServiceActivation and implement it in one of its Mixins.
- * A corresponding Activator is automatically registered.
- */
-@Activators( ServiceActivation.ServiceActivator.class )
-public interface ServiceActivation
-{
-
-    /**
-     * Called after ServiceComposite Activation.
-     */
-    void activateService()
-        throws Exception;
-
-    /**
-     * Called before ServiceComposite Passivation.
-     */
-    void passivateService()
-        throws Exception;
-
-    /**
-     * Service Activator.
-     */
-    class ServiceActivator
-        extends ServiceActivatorAdapter<ServiceActivation>
-    {
-
-        @Override
-        public void afterActivation( ServiceReference<ServiceActivation> activated )
-            throws Exception
-        {
-            activated.get().activateService();
-        }
-
-        @Override
-        public void beforePassivation( ServiceReference<ServiceActivation> passivating )
-            throws Exception
-        {
-            passivating.get().passivateService();
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceActivatorAdapter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceActivatorAdapter.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceActivatorAdapter.java
deleted file mode 100644
index a2ee7a7..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceActivatorAdapter.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2014 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.apache.zest.api.service;
-
-import org.apache.zest.api.activation.Activator;
-
-/**
- * Adapter for Service Activator.
- *
- * @param <ServiceType> Type of the service.
- */
-public class ServiceActivatorAdapter<ServiceType>
-    implements Activator<ServiceReference<ServiceType>>
-{
-    /**
-     * Called before Service activation.
-     * @param activating Activating Service
-     */
-    @Override
-    public void beforeActivation( ServiceReference<ServiceType> activating )
-        throws Exception
-    {
-    }
-
-    /**
-     * Called after Service activation.
-     * @param activated Activated Service
-     */
-    @Override
-    public void afterActivation( ServiceReference<ServiceType> activated )
-        throws Exception
-    {
-    }
-
-    /**
-     * Called before Service passivation.
-     * @param passivating Passivating Service
-     */
-    @Override
-    public void beforePassivation( ServiceReference<ServiceType> passivating )
-        throws Exception
-    {
-    }
-
-    /**
-     * Called after Service passivation.
-     * @param passivated Passivated Service
-     */
-    @Override
-    public void afterPassivation( ServiceReference<ServiceType> passivated )
-        throws Exception
-    {
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceComposite.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceComposite.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceComposite.java
deleted file mode 100644
index 6a40250..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceComposite.java
+++ /dev/null
@@ -1,27 +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.apache.zest.api.service;
-
-import org.apache.zest.api.composite.Composite;
-import org.apache.zest.api.entity.Identity;
-
-/**
- * All Composites being used to implement Services
- * must extend this interface.
- */
-public interface ServiceComposite
-    extends Identity, Composite
-{
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceDescriptor.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceDescriptor.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceDescriptor.java
deleted file mode 100644
index 98cfd89..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceDescriptor.java
+++ /dev/null
@@ -1,29 +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.apache.zest.api.service;
-
-import org.apache.zest.api.composite.CompositeDescriptor;
-import org.apache.zest.api.composite.StatefulCompositeDescriptor;
-
-/**
- * {@code ServiceDescriptor} provides meta informations of a service.
- */
-public interface ServiceDescriptor
-    extends CompositeDescriptor, IdentityDescriptor, StatefulCompositeDescriptor
-{
-    boolean isInstantiateOnStartup();
-
-    <T> Class<T> configurationType();
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceFinder.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceFinder.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceFinder.java
deleted file mode 100644
index 5f9be65..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceFinder.java
+++ /dev/null
@@ -1,87 +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.apache.zest.api.service;
-
-import java.lang.reflect.Type;
-
-/**
- * Interface used to query for ServiceReferences.
- * <p>
- * Each ServiceFinder is
- * obtained from a specific Module, and the lookup rules are the following:
- * </p>
- * <ol>
- * <li>First look in the same Module as the ServiceFinder</li>
- * <li>Then look in the same Layer as the ServiceFinder. Any Services declared
- * with Visibility Layer and Application should be included</li>
- * <li>Then look in the used Layers. Any Services declared with Visibility Application
- * should be included</li>
- * </ol>
- * <p>
- * Both native Zest services and imported services are considered, with preference to native services.
- * </p>
- */
-public interface ServiceFinder
-{
-    /**
-     * Find a ServiceReference that implements the given type.
-     *
-     * @param serviceType the type that the Service must implement
-     *
-     * @return a ServiceReference if one is found
-     *
-     * @throws NoSuchServiceException if no service of serviceType is found
-     */
-    <T> ServiceReference<T> findService( Class<T> serviceType )
-        throws NoSuchServiceException;
-
-    /**
-     * Find a ServiceReference that implements the given type.
-     *
-     * @param serviceType the type that the Service must implement
-     *
-     * @return a ServiceReference if one is found
-     *
-     * @throws NoSuchServiceException if no service of serviceType is found
-     */
-    <T> ServiceReference<T> findService( Type serviceType )
-        throws NoSuchServiceException;
-
-    /**
-     * Find ServiceReferences that implements the given type.
-     * <p>
-     * The order of the references is such that Services more local to the querying
-     * Module is earlier in the list.
-     * </p>
-     *
-     * @param serviceType the type that the Services must implement
-     *
-     * @return an iterable of ServiceReferences for the given type. It is empty if none exist
-     */
-    <T> Iterable<ServiceReference<T>> findServices( Class<T> serviceType );
-
-    /**
-     * Find ServiceReferences that implements the given type.
-     * <p>
-     * The order of the references is such that Services more local to the querying
-     * Module is earlier in the list.
-     * </p>
-     *
-     * @param serviceType the type that the Services must implement
-     *
-     * @return an iterable of ServiceReferences for the given type. It is empty if none exist
-     */
-    <T> Iterable<ServiceReference<T>> findServices( Type serviceType );
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceImporter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceImporter.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceImporter.java
deleted file mode 100644
index c6b5bc3..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceImporter.java
+++ /dev/null
@@ -1,42 +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.apache.zest.api.service;
-
-/**
- * Import a service from some external source.
- */
-public interface ServiceImporter<T>
-{
-    /**
-     * Imports an instance of the service type described in the service descriptor.
-     *
-     * @param serviceDescriptor The service descriptor.
-     *
-     * @return The imported service instance.
-     *
-     * @throws ServiceImporterException if import failed.
-     */
-    T importService( ImportedServiceDescriptor serviceDescriptor )
-        throws ServiceImporterException;
-
-    /**
-     * Ask if the service is available or not.
-     *
-     * @param instance the instance to be checked
-     *
-     * @return true if the service is available, false if not
-     */
-    boolean isAvailable( T instance );
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceImporterException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceImporterException.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceImporterException.java
deleted file mode 100644
index 116404b..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceImporterException.java
+++ /dev/null
@@ -1,42 +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.apache.zest.api.service;
-
-/**
- * If a ServiceImporter could not import a service
- * instance it must throw this exception.
- */
-public class ServiceImporterException
-    extends RuntimeException
-{
-    public ServiceImporterException()
-    {
-    }
-
-    public ServiceImporterException( String string )
-    {
-        super( string );
-    }
-
-    public ServiceImporterException( String string, Throwable throwable )
-    {
-        super( string, throwable );
-    }
-
-    public ServiceImporterException( Throwable throwable )
-    {
-        super( throwable );
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceReference.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceReference.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceReference.java
deleted file mode 100644
index dd17618..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceReference.java
+++ /dev/null
@@ -1,47 +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.apache.zest.api.service;
-
-import org.apache.zest.api.activation.ActivationEventListenerRegistration;
-import org.apache.zest.api.structure.MetaInfoHolder;
-import org.apache.zest.api.type.HasTypes;
-
-/**
- * From a ServiceReference you can access and modify metadata about a service.
- * You can also access the actual service through get(), that can then be invoked.
- */
-public interface ServiceReference<T>
-    extends HasTypes, ActivationEventListenerRegistration, MetaInfoHolder
-{
-    /**
-     * @return the service's identity
-     */
-    String identity();
-
-    /**
-     * @return the actual service
-     */
-    T get();
-
-    /**
-     * @return TRUE if the service is active, otherwise return FALSE
-     */
-    boolean isActive();
-
-    /**
-     * @return TRUE if the service is available, otherwise return FALSE
-     */
-    boolean isAvailable();
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/ServiceUnavailableException.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/ServiceUnavailableException.java b/core/api/src/main/java/org/apache/zest/api/service/ServiceUnavailableException.java
deleted file mode 100644
index c5ba3fd..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/ServiceUnavailableException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2008 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.apache.zest.api.service;
-
-/**
- * Thrown when no available service is found.
- */
-public class ServiceUnavailableException
-    extends RuntimeException
-{
-    public ServiceUnavailableException( String message )
-    {
-        super( message );
-    }
-
-    public ServiceUnavailableException( String message, Throwable cause )
-    {
-        super( message, cause );
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/importer/InstanceImporter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/importer/InstanceImporter.java b/core/api/src/main/java/org/apache/zest/api/service/importer/InstanceImporter.java
deleted file mode 100644
index 35e0bd0..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/importer/InstanceImporter.java
+++ /dev/null
@@ -1,80 +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.apache.zest.api.service.importer;
-
-import org.apache.zest.api.injection.scope.Structure;
-import org.apache.zest.api.service.ImportedServiceDescriptor;
-import org.apache.zest.api.service.ServiceImporter;
-import org.apache.zest.api.service.ServiceImporterException;
-import org.apache.zest.api.structure.Application;
-import org.apache.zest.api.structure.Layer;
-import org.apache.zest.api.structure.MetaInfoHolder;
-import org.apache.zest.api.structure.Module;
-import org.apache.zest.functional.Function;
-import org.apache.zest.functional.Iterables;
-
-import static org.apache.zest.functional.Iterables.filter;
-import static org.apache.zest.functional.Iterables.first;
-import static org.apache.zest.functional.Iterables.map;
-import static org.apache.zest.functional.Specifications.notNull;
-
-/**
- * Return a predefined service instance that was provided as meta-info. Search for meta-info in the following order:
- * the service itself, the module of the service, the layer of the service, the whole application.
- */
-public final class InstanceImporter<T>
-    implements ServiceImporter<T>
-{
-    @Structure
-    private Application application;
-
-    @Structure
-    private Layer layer;
-
-    @Structure
-    private Module module;
-
-    @Override
-    public T importService( final ImportedServiceDescriptor serviceDescriptor )
-        throws ServiceImporterException
-    {
-        T instance = null;
-        Iterable<MetaInfoHolder> holders = Iterables.iterable( serviceDescriptor, module, layer, application );
-        for( final MetaInfoHolder metaInfoHolder : holders )
-        {
-            Function<Class<?>, T> metaFinder = new Function<Class<?>, T>()
-            {
-                @Override
-                @SuppressWarnings( "unchecked" )
-                public T map( Class<?> type )
-                {
-                    return (T) metaInfoHolder.metaInfo( type );
-                }
-            };
-            instance = first( filter( notNull(), map( metaFinder, serviceDescriptor.types() ) ) );
-            if( instance != null )
-            {
-                break;
-            }
-        }
-        return instance;
-    }
-
-    @Override
-    public boolean isAvailable( T instance )
-    {
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/importer/NewObjectImporter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/importer/NewObjectImporter.java b/core/api/src/main/java/org/apache/zest/api/service/importer/NewObjectImporter.java
deleted file mode 100644
index 55df2c0..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/importer/NewObjectImporter.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2009, 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.apache.zest.api.service.importer;
-
-import org.apache.zest.api.injection.scope.Structure;
-import org.apache.zest.api.object.ObjectFactory;
-import org.apache.zest.api.service.ImportedServiceDescriptor;
-import org.apache.zest.api.service.ServiceImporter;
-import org.apache.zest.api.service.ServiceImporterException;
-import org.apache.zest.functional.Iterables;
-
-/**
- * Import Services using a new registered Object instance.
- */
-public final class NewObjectImporter<T>
-    implements ServiceImporter<T>
-{
-    @Structure
-    private ObjectFactory obf;
-
-    @Override
-    @SuppressWarnings( "unchecked" )
-    public T importService( ImportedServiceDescriptor serviceDescriptor )
-        throws ServiceImporterException
-    {
-        return obf.newObject( (Class<T>) Iterables.first( serviceDescriptor.types() ) );
-    }
-
-    @Override
-    public boolean isAvailable( T instance )
-    {
-        return true;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceInstanceImporter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceInstanceImporter.java b/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceInstanceImporter.java
deleted file mode 100644
index 5a497e6..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceInstanceImporter.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2010, 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.apache.zest.api.service.importer;
-
-import org.apache.zest.api.injection.scope.Structure;
-import org.apache.zest.api.service.ImportedServiceDescriptor;
-import org.apache.zest.api.service.ServiceFinder;
-import org.apache.zest.api.service.ServiceImporter;
-import org.apache.zest.api.service.ServiceImporterException;
-import org.apache.zest.api.service.ServiceReference;
-
-/**
- * Use a registered service that implements ServiceImporter to do the actual
- * import. The service id of the service that this importer should delegate to must
- * be set as meta-info on this service. Example:
- * <pre><code>
- * module.services(MyServiceImporterService.class).identifiedBy("someid");
- * module.importedServices(OtherService.class).importedBy(ServiceInstanceImporter.class).setMetaInfo("someid");
- * </code></pre>
- */
-public class ServiceInstanceImporter<T>
-    implements ServiceImporter<T>
-{
-    @Structure
-    ServiceFinder finder;
-
-    ServiceImporter<T> service;
-
-    String serviceId;
-
-    @Override
-    public T importService( ImportedServiceDescriptor importedServiceDescriptor )
-        throws ServiceImporterException
-    {
-        serviceId = importedServiceDescriptor.metaInfo( String.class );
-
-        return serviceImporter().importService( importedServiceDescriptor );
-    }
-
-    @Override
-    public boolean isAvailable( T instance )
-    {
-        return serviceImporter().isAvailable( instance );
-    }
-
-    @SuppressWarnings( {"raw", "unchecked"} )
-    private ServiceImporter<T> serviceImporter()
-    {
-        if( service == null )
-        {
-            for( ServiceReference<ServiceImporter> reference : finder.<ServiceImporter>findServices( ServiceImporter.class ) )
-            {
-                if( reference.identity().equals( serviceId ) )
-                {
-                    service = reference.get();
-                    break;
-                }
-            }
-        }
-
-        if( service == null )
-        {
-            throw new ServiceImporterException( "No service importer with id '" + serviceId + "' was found" );
-        }
-
-        return service;
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceSelectorImporter.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceSelectorImporter.java b/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceSelectorImporter.java
deleted file mode 100644
index c1ced8c..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/importer/ServiceSelectorImporter.java
+++ /dev/null
@@ -1,78 +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.apache.zest.api.service.importer;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.zest.api.injection.scope.Structure;
-import org.apache.zest.api.service.Availability;
-import org.apache.zest.api.service.ImportedServiceDescriptor;
-import org.apache.zest.api.service.ServiceFinder;
-import org.apache.zest.api.service.ServiceImporter;
-import org.apache.zest.api.service.ServiceImporterException;
-import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.api.service.qualifier.ServiceQualifier;
-import org.apache.zest.functional.Iterables;
-import org.apache.zest.functional.Specification;
-
-/**
- * If several services are available with a given type, and you want to constrain
- * the current module to use a specific one, then use this importer. Specify a
- * Specification&lt;ServiceReference&lt;T&gt;&gt; criteria as meta-info for the service, which will be applied
- * to the list of available services, and the first match will be chosen.
- *
- * This importer will avoid selecting itself, as could be possible if the ServiceQualifier.first()
- * filter is used.
- */
-public final class ServiceSelectorImporter<T>
-    implements ServiceImporter<T>
-{
-    @Structure
-    private ServiceFinder locator;
-
-    @Override
-    @SuppressWarnings( { "raw", "unchecked" } )
-    public T importService( ImportedServiceDescriptor serviceDescriptor )
-        throws ServiceImporterException
-    {
-        Specification<ServiceReference<?>> selector = serviceDescriptor.metaInfo( Specification.class );
-        Class serviceType = Iterables.first( serviceDescriptor.types() );
-        Iterable<ServiceReference<T>> services = locator.findServices( serviceType );
-        List<ServiceReference<T>> filteredServices = new ArrayList<>();
-        for( ServiceReference<T> service : services )
-        {
-            Specification selector1 = service.metaInfo( Specification.class );
-            if( selector1 != null && selector1 == selector )
-            {
-                continue;
-            }
-
-            filteredServices.add( service );
-        }
-        T service = ServiceQualifier.firstService( selector, filteredServices );
-        if( service == null )
-        {
-            throw new ServiceImporterException( "Could not find any service to import that matches the given specification for " + serviceDescriptor
-                .identity() );
-        }
-        return service;
-    }
-
-    @Override
-    public boolean isAvailable( T instance )
-    {
-        return !( instance instanceof Availability ) || ( (Availability) instance ).isAvailable();
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/importer/package.html
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/importer/package.html b/core/api/src/main/java/org/apache/zest/api/service/importer/package.html
deleted file mode 100644
index d960b3d..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/importer/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>Service Importers.</h2>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/package.html
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/package.html b/core/api/src/main/java/org/apache/zest/api/service/package.html
deleted file mode 100644
index 587937c..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/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>Service API.</h2>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/qualifier/Active.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/qualifier/Active.java b/core/api/src/main/java/org/apache/zest/api/service/qualifier/Active.java
deleted file mode 100644
index c961eb9..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/qualifier/Active.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2009, 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.apache.zest.api.service.qualifier;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.functional.Specification;
-
-/**
- * Filter services based on whether they are active or not.
- * <p>
- * At an injection point you can do this:
- * </p>
- * <pre><code>
- * &#64;Service &#64;Active MyService service;
- * </code></pre>
- * <p>
- * to get only a service that is currently active.
- * </p>
- */
-@Retention( RetentionPolicy.RUNTIME )
-@Qualifier( Active.ActiveQualifier.class )
-public @interface Active
-{
-    /**
-     * Active Annotation Qualifier.
-     * See {@link Active}.
-     */
-    public final class ActiveQualifier
-        implements AnnotationQualifier<Active>
-    {
-        @Override
-        public <T> Specification<ServiceReference<?>> qualifier( Active active )
-        {
-            return ServiceQualifier.whereActive();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/qualifier/AnnotationQualifier.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/qualifier/AnnotationQualifier.java b/core/api/src/main/java/org/apache/zest/api/service/qualifier/AnnotationQualifier.java
deleted file mode 100644
index 38e45c5..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/qualifier/AnnotationQualifier.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2009, 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.apache.zest.api.service.qualifier;
-
-import java.lang.annotation.Annotation;
-import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.functional.Specification;
-
-/**
- * Constructs a Specification for a given qualifier annotation
- */
-public interface AnnotationQualifier<QUALIFIER extends Annotation>
-{
-    public <T> Specification<ServiceReference<?>> qualifier( QUALIFIER qualifier );
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/qualifier/Available.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/qualifier/Available.java b/core/api/src/main/java/org/apache/zest/api/service/qualifier/Available.java
deleted file mode 100644
index 6638061..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/qualifier/Available.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2009, 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.apache.zest.api.service.qualifier;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.functional.Specification;
-
-/**
- * Filter services based on whether they are available or not.
- *
- * At an injection point you can do this:
- *
- * <pre><code>
- * &#64;Service &#64;Available MyService service;
- * </code></pre>
- * to get only a service that is currently available.
- */
-@Retention( RetentionPolicy.RUNTIME )
-@Qualifier( Available.AvailableQualifier.class )
-public @interface Available
-{
-    /**
-     * Available Annotation Qualifier.
-     * See {@link Available}.
-     */
-    public final class AvailableQualifier
-        implements AnnotationQualifier<Available>
-    {
-        @Override
-        public <T> Specification<ServiceReference<?>> qualifier( Available active )
-        {
-            return ServiceQualifier.whereAvailable();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/qualifier/HasMetaInfo.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/qualifier/HasMetaInfo.java b/core/api/src/main/java/org/apache/zest/api/service/qualifier/HasMetaInfo.java
deleted file mode 100644
index 887e5a7..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/qualifier/HasMetaInfo.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2009, 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.apache.zest.api.service.qualifier;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.functional.Specification;
-
-/**
- * Filter services based on Meta Info being declared on the Service.
- * <p>
- * Meta Info of any type can be set on the service during assembly, e.g.;
- * </p>
- * <pre><code>
- * module.addService( MyService.class ).setMetaInfo( new MyCustomInfo(someData) );
- * </code></pre>
- * <p>
- * and then at an injection point you can do this:
- * </p>
- * <pre><code>
- * &#64;Service &#64;HasMetaInfo(MyCustomInfo.class) MyService service;
- * </code></pre>
- * <p>
- * to get only a service that has a MyCustomInfo instance set as meta info.
- * </p>
- */
-@Retention( RetentionPolicy.RUNTIME )
-@Qualifier( HasMetaInfo.HasMetaInfoQualifier.class )
-@Documented
-public @interface HasMetaInfo
-{
-    /**
-     * The Class(es) needed to have been defined in the Service meta info for a qualifier to evaluate true.
-     *
-     * @return One or more classes that should be defined in the service's meta info for the service to be considered
-     *         qualified. If more than one class is defined, the {@code anded()} parameter will define if they must be
-     *         AND'ed or OR'ed together.
-     */
-    Class[] value();
-
-    /**
-     * True if the Classes defined in the value() field should be AND'ed instead of OR'ed.
-     *
-     * @return If true, all the Class types defined in {@code value()} must be defined for the service for it to be
-     *         qualified. If false, if any of the Class types defined in {@code value()} is defined for the service
-     *         the service is qualified.
-     */
-    boolean anded() default false;
-
-    /**
-     * HasMetaInfo Annotation Qualifier.
-     * See {@link HasMetaInfo}.
-     */
-    public static class HasMetaInfoQualifier
-        implements AnnotationQualifier<HasMetaInfo>
-    {
-        @Override
-        public <T> Specification<ServiceReference<?>> qualifier( final HasMetaInfo hasMetaInfo )
-        {
-            return new Specification<ServiceReference<?>>()
-            {
-                @Override
-                @SuppressWarnings( {"raw", "unchecked"} )
-                public boolean satisfiedBy( ServiceReference<?> service )
-                {
-                    for( Class metaInfoType : hasMetaInfo.value() )
-                    {
-                        Object metaInfo = service.metaInfo( metaInfoType );
-                        if( hasMetaInfo.anded() )
-                        {
-                            if( metaInfo == null )
-                            {
-                                return false;
-                            }
-                        }
-                        else
-                        {
-                            if( metaInfo != null )
-                            {
-                                return true;
-                            }
-                        }
-                    }
-                    return false;
-                }
-            };
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/a789141d/core/api/src/main/java/org/apache/zest/api/service/qualifier/IdentifiedBy.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/service/qualifier/IdentifiedBy.java b/core/api/src/main/java/org/apache/zest/api/service/qualifier/IdentifiedBy.java
deleted file mode 100644
index 6f18f56..0000000
--- a/core/api/src/main/java/org/apache/zest/api/service/qualifier/IdentifiedBy.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2009, 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.apache.zest.api.service.qualifier;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.functional.Specification;
-
-/**
- * Filter services based on identity. Identity can be set during assembly, like so:
- * <pre><code>
- * module.addService(MyService.class).identifiedBy("myservice1");
- * </code></pre>
- *
- * and then at an injection point you can do this:
- * <pre><code>
- * &#64;Service @IdentifiedBy("myservice1") MyService service;
- * </code></pre>
- * to get only a service identified "myservice1".
- */
-@Retention( RetentionPolicy.RUNTIME )
-@Qualifier( IdentifiedBy.IdentifiedByQualifier.class )
-public @interface IdentifiedBy
-{
-    public abstract String value();
-
-    /**
-     * IdentifiedBy Annotation Qualifier.
-     * See {@link IdentifiedBy}.
-     */
-    public final class IdentifiedByQualifier
-        implements AnnotationQualifier<IdentifiedBy>
-    {
-        @Override
-        public <T> Specification<ServiceReference<?>> qualifier( IdentifiedBy identifiedBy )
-        {
-            return ServiceQualifier.withId( identifiedBy.value() );
-        }
-    }
-}


Mime
View raw message