You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/07/11 12:56:16 UTC

[04/61] [partial] ISIS-831: digression: moving progmodel/facets into metamodel/facets

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterDefault.java
deleted file mode 100644
index 2c68cb8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterDefault.java
+++ /dev/null
@@ -1,41 +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.isis.core.progmodel.facets.properties.interaction;
-
-import org.apache.isis.applib.services.eventbus.PropertyInteractionEvent;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.accessor.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.facets.properties.interaction.InteractionWithPropertySetterFacetAbstract;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-
-public class InteractionWithPropertyFacetSetterDefault
-        extends InteractionWithPropertySetterFacetAbstract {
-
-
-    public InteractionWithPropertyFacetSetterDefault(
-            final Class<? extends PropertyInteractionEvent<?, ?>> eventType,
-            final PropertyOrCollectionAccessorFacet getterFacet,
-            final PropertySetterFacet setterFacet,
-            final ServicesInjector servicesInjector,
-            final FacetHolder holder) {
-        super(eventType, getterFacet, setterFacet, servicesInjector, holder);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForAnnotation.java
deleted file mode 100644
index 5036901..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForAnnotation.java
+++ /dev/null
@@ -1,41 +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.isis.core.progmodel.facets.properties.interaction;
-
-import org.apache.isis.applib.services.eventbus.PropertyInteractionEvent;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.accessor.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.facets.properties.interaction.InteractionWithPropertySetterFacetAbstract;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-
-public class InteractionWithPropertyFacetSetterForAnnotation
-        extends InteractionWithPropertySetterFacetAbstract {
-
-
-    public InteractionWithPropertyFacetSetterForAnnotation(
-            final Class<? extends PropertyInteractionEvent<?, ?>> eventType,
-            final PropertyOrCollectionAccessorFacet getterFacet,
-            final PropertySetterFacet setterFacet,
-            final ServicesInjector servicesInjector,
-            final FacetHolder holder) {
-        super(eventType, getterFacet, setterFacet, servicesInjector, holder);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForPostsPropertyChangedEventAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForPostsPropertyChangedEventAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForPostsPropertyChangedEventAnnotation.java
deleted file mode 100644
index e5da80a..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/interaction/InteractionWithPropertyFacetSetterForPostsPropertyChangedEventAnnotation.java
+++ /dev/null
@@ -1,41 +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.isis.core.progmodel.facets.properties.interaction;
-
-import org.apache.isis.applib.services.eventbus.PropertyInteractionEvent;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.accessor.PropertyOrCollectionAccessorFacet;
-import org.apache.isis.core.metamodel.facets.properties.interaction.InteractionWithPropertySetterFacetAbstract;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-
-public class InteractionWithPropertyFacetSetterForPostsPropertyChangedEventAnnotation
-        extends InteractionWithPropertySetterFacetAbstract {
-
-
-    public InteractionWithPropertyFacetSetterForPostsPropertyChangedEventAnnotation(
-            final Class<? extends PropertyInteractionEvent<?, ?>> eventType,
-            final PropertyOrCollectionAccessorFacet getterFacet,
-            final PropertySetterFacet setterFacet,
-            final ServicesInjector servicesInjector,
-            final FacetHolder holder) {
-        super(eventType, getterFacet, setterFacet, servicesInjector, holder);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation.java
deleted file mode 100644
index 3b41783..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation.java
+++ /dev/null
@@ -1,51 +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.isis.core.progmodel.facets.properties.javaxvaldigits;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.progmodel.facets.value.bigdecimal.BigDecimalValueFacet;
-import org.apache.isis.core.progmodel.facets.value.bigdecimal.BigDecimalValueFacetAbstract;
-
-
-public class BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation extends BigDecimalValueFacetAbstract {
-
-    private final int precision;
-    private final int scale;
-
-    public static Class<? extends Facet> type() {
-        return BigDecimalValueFacet.class;
-    }
-
-    public BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation(final FacetHolder holder, final Integer precision, final Integer scale) {
-        super(BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation.type(), holder, Derivation.NOT_DERIVED);
-        this.precision = precision;
-        this.scale = scale;
-    }
-
-    @Override
-    public Integer getPrecision() {
-        return precision;
-    }
-
-    @Override
-    public Integer getScale() {
-        return scale;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory.java
deleted file mode 100644
index 88dae81..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/javaxvaldigits/BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory.java
+++ /dev/null
@@ -1,59 +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.isis.core.progmodel.facets.properties.javaxvaldigits;
-
-import java.math.BigDecimal;
-
-import javax.validation.constraints.Digits;
-
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.progmodel.facets.value.bigdecimal.BigDecimalValueFacet;
-
-public class BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory extends FacetFactoryAbstract {
-
-    public BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-
-        if (BigDecimal.class != processMethodContext.getMethod().getReturnType()) {
-            return;
-        }
-
-        final Digits annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Digits.class);
-        if (annotation == null) {
-            return;
-        }
-        FacetUtil.addFacet(create(processMethodContext, annotation));
-    }
-
-    private BigDecimalValueFacet create(final ProcessMethodContext processMethodContext, final Digits annotation) {
-        final FacetedMethod holder = processMethodContext.getFacetHolder();
-        final int length = annotation.integer() + annotation.fraction();
-        final int scale = annotation.fraction();
-        return new BigDecimalFacetForPropertyFromJavaxValidationDigitsAnnotation(holder, length, scale);
-    }    
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryAnnotationForPropertyFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryAnnotationForPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryAnnotationForPropertyFacetFactory.java
deleted file mode 100644
index 191b02f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryAnnotationForPropertyFacetFactory.java
+++ /dev/null
@@ -1,49 +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.isis.core.progmodel.facets.properties.mandatory.annotation;
-
-import org.apache.isis.applib.annotation.Mandatory;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
-
-public class MandatoryAnnotationForPropertyFacetFactory extends FacetFactoryAbstract {
-
-    public MandatoryAnnotationForPropertyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        if (!Annotations.isAnnotationPresent(processMethodContext.getMethod(), Mandatory.class)) {
-            return;
-        }
-        final Mandatory annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Mandatory.class);
-        FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder()));
-    }
-
-    private MandatoryFacet create(final Mandatory annotation, final FacetHolder holder) {
-        return annotation != null ? new MandatoryFacetExplicitForProperty(holder) : null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetExplicitForProperty.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetExplicitForProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetExplicitForProperty.java
deleted file mode 100644
index a633981..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetExplicitForProperty.java
+++ /dev/null
@@ -1,37 +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.isis.core.progmodel.facets.properties.mandatory.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacetAbstract;
-
-/**
- * Derived by presence of an <tt>@Mandatory</tt> annotation.
- * 
- * <p>
- * This implementation indicates that the {@link FacetHolder} <i>is</i> 
- * mandatory.
- */
-public class MandatoryFacetExplicitForProperty extends MandatoryFacetAbstract {
-
-    public MandatoryFacetExplicitForProperty(final FacetHolder holder) {
-        super(holder, Semantics.REQUIRED);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java
deleted file mode 100644
index 6d87bbd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java
+++ /dev/null
@@ -1,37 +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.isis.core.progmodel.facets.properties.mandatory.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacetAbstract;
-
-/**
- * Derived by presence of an <tt>@Optional</tt> annotation.
- * 
- * <p>
- * This implementation indicates that the {@link FacetHolder} is <i>not</i>
- * mandatory, as per {@link #isInvertedSemantics()}.
- */
-public class MandatoryFacetInvertedByOptionalForProperty extends MandatoryFacetAbstract {
-
-    public MandatoryFacetInvertedByOptionalForProperty(final FacetHolder holder) {
-        super(holder, Semantics.OPTIONAL);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.java
deleted file mode 100644
index 48e216c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.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.isis.core.progmodel.facets.properties.mandatory.annotation;
-
-import org.apache.isis.applib.annotation.Optional;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
-
-public class OptionalAnnotationForPropertyFacetFactory extends FacetFactoryAbstract {
-
-    public OptionalAnnotationForPropertyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        final Class<?> returnType = processMethodContext.getMethod().getReturnType();
-        if (returnType.isPrimitive()) {
-            return;
-        }
-        if (!Annotations.isAnnotationPresent(processMethodContext.getMethod(), Optional.class)) {
-            return;
-        }
-        final Optional annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Optional.class);
-        FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder()));
-    }
-
-    private MandatoryFacet create(final Optional annotation, final FacetHolder holder) {
-        return annotation != null ? new MandatoryFacetInvertedByOptionalForProperty(holder) : null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java
deleted file mode 100644
index 88ef6a9..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java
+++ /dev/null
@@ -1,57 +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.isis.core.progmodel.facets.properties.mandatory.dflt;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacetDefault;
-import org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor;
-
-/**
- * Simply installs a {@link MandatoryFacetDefault} onto all properties and
- * parameters.
- * 
- * <p>
- * The idea is that this {@link FacetFactory} is included early on in the
- * {@link FacetProcessor}, but other {@link MandatoryFacet} implementations
- * which don't require mandatory semantics will potentially replace these where
- * the property or parameter is annotated or otherwise indicated as being
- * optional.
- */
-public class MandatoryDefaultForPropertiesFacetFactory extends FacetFactoryAbstract {
-
-    public MandatoryDefaultForPropertiesFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        FacetUtil.addFacet(create(processMethodContext.getFacetHolder()));
-    }
-
-    private MandatoryFacet create(final FacetHolder holder) {
-        return new MandatoryFacetDefault(holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java
deleted file mode 100644
index 95adcfd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java
+++ /dev/null
@@ -1,37 +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.isis.core.progmodel.facets.properties.mandatory.staticmethod;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacetAbstract;
-
-/**
- * Derived by presence of an <tt>optionalXxx</tt> method.
- * 
- * <p>
- * This implementation indicates that the {@link FacetHolder} is <i>not</i>
- * mandatory, as per {@link #isInvertedSemantics()}.
- */
-public class MandatoryFacetOptionalViaMethodForProperty extends MandatoryFacetAbstract {
-
-    public MandatoryFacetOptionalViaMethodForProperty(final FacetHolder holder) {
-        super(holder, Semantics.OPTIONAL);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java
deleted file mode 100644
index 1d0c8e8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java
+++ /dev/null
@@ -1,85 +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.isis.core.progmodel.facets.properties.mandatory.staticmethod;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.commons.lang.MethodExtensions;
-import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.metamodel.exceptions.MetaModelException;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.progmodel.facets.MethodFinderUtils;
-import org.apache.isis.core.progmodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.progmodel.facets.MethodPrefixConstants;
-
-public class PropertyOptionalFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
-    private static final String[] PREFIXES = { MethodPrefixConstants.OPTIONAL_PREFIX };
-
-    public PropertyOptionalFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY, OrphanValidation.VALIDATE, PREFIXES);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-
-        attachMandatoryFacetIfOptionalMethodIsFound(processMethodContext);
-    }
-
-    private static void attachMandatoryFacetIfOptionalMethodIsFound(final ProcessMethodContext processMethodContext) {
-        final Method method = processMethodContext.getMethod();
-
-        final String capitalizedName = StringExtensions.asJavaBaseName(method.getName());
-        final Class<?> returnType = method.getReturnType();
-
-        final Class<?> cls = processMethodContext.getCls();
-        final Method optionalMethod = MethodFinderUtils.findMethod(cls, MethodScope.CLASS, MethodPrefixConstants.OPTIONAL_PREFIX + capitalizedName, boolean.class, NO_PARAMETERS_TYPES);
-        processMethodContext.removeMethod(optionalMethod);
-
-        if (!indicatesOptional(optionalMethod)) {
-            return;
-        }
-        if (returnType.isPrimitive()) {
-            throw new MetaModelException(cls.getName() + "#" + capitalizedName + " cannot be an optional property as it is of a primitive type");
-        }
-        final FacetHolder property = processMethodContext.getFacetHolder();
-        FacetUtil.addFacet(new MandatoryFacetOptionalViaMethodForProperty(property));
-    }
-
-    private static boolean indicatesOptional(final Method method) {
-        if (method != null) {
-            Boolean optionalMethodReturnValue = null;
-            try {
-                optionalMethodReturnValue = (Boolean) MethodExtensions.invoke(method, new Object[0]);
-            } catch (final ClassCastException ex) {
-                // ignore
-            }
-            if (optionalMethodReturnValue == null) {
-                throw new MetaModelException("method " + method + " should return a boolean");
-            }
-            return optionalMethodReturnValue.booleanValue();
-        }
-        return false;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java
deleted file mode 100644
index ec4bde6..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java
+++ /dev/null
@@ -1,76 +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.isis.core.progmodel.facets.properties.modify;
-
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet.Intent;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertyClearFacetAbstract;
-
-public class PropertyClearFacetViaClearMethod extends PropertyClearFacetAbstract implements ImperativeFacet {
-
-    private final Method method;
-
-    public PropertyClearFacetViaClearMethod(final Method method, final FacetHolder holder) {
-        super(holder);
-        this.method = method;
-    }
-
-    /**
-     * Returns a singleton list of the {@link Method} provided in the
-     * constructor.
-     */
-    @Override
-    public List<Method> getMethods() {
-        return Collections.singletonList(method);
-    }
-
-    @Override
-    public Intent getIntent(final Method method) {
-        return Intent.MODIFY_PROPERTY_SUPPORTING;
-    }
-
-    @Override
-    public boolean impliesResolve() {
-        return true;
-    }
-
-    @Override
-    public boolean impliesObjectChanged() {
-        return true;
-    }
-
-    @Override
-    public void clearProperty(final ObjectAdapter owningAdapter) {
-        AdapterInvokeUtils.invoke(method, owningAdapter);
-    }
-
-    @Override
-    protected String toStringValues() {
-        return "method=" + method;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java
deleted file mode 100644
index de6bf15..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java
+++ /dev/null
@@ -1,76 +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.isis.core.progmodel.facets.properties.modify;
-
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet.Intent;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertyClearFacetAbstract;
-
-public class PropertyClearFacetViaSetterMethod extends PropertyClearFacetAbstract implements ImperativeFacet {
-
-    private final Method method;
-
-    public PropertyClearFacetViaSetterMethod(final Method method, final FacetHolder holder) {
-        super(holder);
-        this.method = method;
-    }
-
-    /**
-     * Returns a singleton list of the {@link Method} provided in the
-     * constructor.
-     */
-    @Override
-    public List<Method> getMethods() {
-        return Collections.singletonList(method);
-    }
-
-    @Override
-    public Intent getIntent(final Method method) {
-        return Intent.MODIFY_PROPERTY;
-    }
-
-    @Override
-    public boolean impliesResolve() {
-        return true;
-    }
-
-    @Override
-    public boolean impliesObjectChanged() {
-        return true;
-    }
-
-    @Override
-    public void clearProperty(final ObjectAdapter owningAdapter) {
-        AdapterInvokeUtils.invoke(method, owningAdapter);
-    }
-
-    @Override
-    protected String toStringValues() {
-        return "method=" + method;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java
deleted file mode 100644
index f436133..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java
+++ /dev/null
@@ -1,36 +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.isis.core.progmodel.facets.properties.modify;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertyInitializationFacet;
-
-public abstract class PropertyInitializationFacetAbstract extends FacetAbstract implements PropertyInitializationFacet {
-
-    public static Class<? extends Facet> type() {
-        return PropertyInitializationFacet.class;
-    }
-
-    public PropertyInitializationFacetAbstract(final FacetHolder holder) {
-        super(type(), holder, Derivation.NOT_DERIVED);
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java
deleted file mode 100644
index 9710320..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java
+++ /dev/null
@@ -1,76 +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.isis.core.progmodel.facets.properties.modify;
-
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-
-public class PropertyInitializationFacetViaSetterMethod extends PropertyInitializationFacetAbstract implements ImperativeFacet {
-
-    private final Method method;
-
-    public PropertyInitializationFacetViaSetterMethod(final Method method, final FacetHolder holder) {
-        super(holder);
-        this.method = method;
-    }
-
-    /**
-     * Returns a singleton list of the {@link Method} provided in the
-     * constructor.
-     */
-    @Override
-    public List<Method> getMethods() {
-        return Collections.singletonList(method);
-    }
-
-    @Override
-    public Intent getIntent(final Method method) {
-        // LIMITATION: we cannot distinguish between setXxx being called for a modify or for an initialization
-        // so we just assume its a setter.
-        return Intent.MODIFY_PROPERTY;
-    }
-
-    @Override
-    public boolean impliesResolve() {
-        return false;
-    }
-
-    @Override
-    public boolean impliesObjectChanged() {
-        return false;
-    }
-
-    @Override
-    public void initProperty(final ObjectAdapter owningAdapter, final ObjectAdapter initialAdapter) {
-        AdapterInvokeUtils.invoke(method, owningAdapter, initialAdapter);
-    }
-
-    @Override
-    protected String toStringValues() {
-        return "method=" + method;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyModifyFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyModifyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyModifyFacetFactory.java
deleted file mode 100644
index 3ab9cfc..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyModifyFacetFactory.java
+++ /dev/null
@@ -1,67 +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.isis.core.progmodel.facets.properties.modify;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.progmodel.facets.MethodFinderUtils;
-import org.apache.isis.core.progmodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.progmodel.facets.MethodPrefixConstants;
-
-public class PropertyModifyFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
-    private static final String[] PREFIXES = { MethodPrefixConstants.MODIFY_PREFIX };
-
-    public PropertyModifyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY, OrphanValidation.VALIDATE, PREFIXES);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-
-        attachPropertyModifyFacetIfModifyMethodIsFound(processMethodContext);
-    }
-
-    private void attachPropertyModifyFacetIfModifyMethodIsFound(final ProcessMethodContext processMethodContext) {
-
-        final Method getMethod = processMethodContext.getMethod();
-        final String capitalizedName = StringExtensions.asJavaBaseName(getMethod.getName());
-
-        final Class<?> returnType = getMethod.getReturnType();
-        final Class<?>[] paramTypes = new Class[] { returnType };
-
-        final Class<?> cls = processMethodContext.getCls();
-        final Method modifyMethod = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.MODIFY_PREFIX + capitalizedName, void.class, paramTypes);
-
-        if (modifyMethod == null) {
-            return;
-        }
-        processMethodContext.removeMethod(modifyMethod);
-
-        final FacetHolder property = processMethodContext.getFacetHolder();
-        FacetUtil.addFacet(new PropertySetterFacetViaModifyMethod(modifyMethod, property));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetAndClearFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetAndClearFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetAndClearFacetFactory.java
deleted file mode 100644
index f20cae2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetAndClearFacetFactory.java
+++ /dev/null
@@ -1,113 +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.isis.core.progmodel.facets.properties.modify;
-
-import java.lang.reflect.Method;
-
-import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.object.notpersistable.NotPersistableFacet;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.progmodel.facets.MethodFinderUtils;
-import org.apache.isis.core.progmodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.progmodel.facets.MethodPrefixConstants;
-import org.apache.isis.core.progmodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.progmodel.facets.members.disabled.staticmethod.DisabledFacetAlwaysEverywhere;
-import org.apache.isis.core.progmodel.facets.properties.derived.inferred.NotPersistableFacetInferred;
-
-public class PropertySetAndClearFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
-    private static final String[] PREFIXES = { MethodPrefixConstants.SET_PREFIX, MethodPrefixConstants.CLEAR_PREFIX };
-
-    public PropertySetAndClearFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY, OrphanValidation.VALIDATE, PREFIXES);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-
-        final Method setMethod = attachPropertyModifyFacetIfSetterIsFound(processMethodContext);
-        final Method clearMethod = attachPropertyClearFacetIfClearMethodIsFound(processMethodContext);
-
-        attachPropertyClearFacetUsingSetterIfRequired(processMethodContext, setMethod, clearMethod);
-    }
-
-    /**
-     * Sets up the {@link PropertySetterFacetViaSetterMethod} to invoke the
-     * property's setter if available, but if none then marks the property as
-     * {@link NotPersistableFacet not-persistable} and {@link DisabledFacet
-     * disabled} otherwise.
-     */
-    private static Method attachPropertyModifyFacetIfSetterIsFound(final ProcessMethodContext processMethodContext) {
-
-        final Method getMethod = processMethodContext.getMethod();
-        final String capitalizedName = StringExtensions.asJavaBaseName(getMethod.getName());
-
-        final Class<?> cls = processMethodContext.getCls();
-        final Class<?> returnType = getMethod.getReturnType();
-        final Class<?>[] paramTypes = new Class[] { returnType };
-        final Method setMethod = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.SET_PREFIX + capitalizedName, void.class, paramTypes);
-        processMethodContext.removeMethod(setMethod);
-
-        final FacetHolder property = processMethodContext.getFacetHolder();
-        if (setMethod != null) {
-            FacetUtil.addFacet(new PropertySetterFacetViaSetterMethod(setMethod, property));
-            FacetUtil.addFacet(new PropertyInitializationFacetViaSetterMethod(setMethod, property));
-        } else {
-            FacetUtil.addFacet(new NotPersistableFacetInferred(property));
-            FacetUtil.addFacet(new DisabledFacetAlwaysEverywhere(property));
-        }
-
-        return setMethod;
-    }
-
-    private Method attachPropertyClearFacetIfClearMethodIsFound(final ProcessMethodContext processMethodContext) {
-        final Class<?> cls = processMethodContext.getCls();
-        final Method getMethod = processMethodContext.getMethod();
-        final FacetHolder property = processMethodContext.getFacetHolder();
-
-        final String capitalizedName = StringExtensions.asJavaBaseName(getMethod.getName());
-        final Method clearMethod = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.CLEAR_PREFIX + capitalizedName, void.class, NO_PARAMETERS_TYPES);
-
-        if (clearMethod == null) {
-            return null;
-        }
-        processMethodContext.removeMethod(clearMethod);
-
-        FacetUtil.addFacet(new PropertyClearFacetViaClearMethod(clearMethod, property));
-
-        return clearMethod;
-    }
-
-    private static void attachPropertyClearFacetUsingSetterIfRequired(final ProcessMethodContext processMethodContext, final Method setMethod, final Method clearMethod) {
-
-        if (clearMethod != null) {
-            return;
-        }
-        if (setMethod == null) {
-            return;
-        }
-        final FacetHolder property = processMethodContext.getFacetHolder();
-        FacetUtil.addFacet(new PropertyClearFacetViaSetterMethod(setMethod, property));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaModifyMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaModifyMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaModifyMethod.java
deleted file mode 100644
index 4d99e81..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaModifyMethod.java
+++ /dev/null
@@ -1,76 +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.isis.core.progmodel.facets.properties.modify;
-
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet.Intent;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacetAbstract;
-
-public class PropertySetterFacetViaModifyMethod extends PropertySetterFacetAbstract implements ImperativeFacet {
-
-    private final Method method;
-
-    public PropertySetterFacetViaModifyMethod(final Method method, final FacetHolder holder) {
-        super(holder);
-        this.method = method;
-    }
-
-    /**
-     * Returns a singleton list of the {@link Method} provided in the
-     * constructor.
-     */
-    @Override
-    public List<Method> getMethods() {
-        return Collections.singletonList(method);
-    }
-
-    @Override
-    public Intent getIntent(final Method method) {
-        return Intent.MODIFY_PROPERTY_SUPPORTING;
-    }
-
-    @Override
-    public boolean impliesResolve() {
-        return true;
-    }
-
-    @Override
-    public boolean impliesObjectChanged() {
-        return true;
-    }
-
-    @Override
-    public void setProperty(final ObjectAdapter adapter, final ObjectAdapter valueAdapter) {
-        AdapterInvokeUtils.invoke(method, adapter, valueAdapter);
-    }
-
-    @Override
-    protected String toStringValues() {
-        return "method=" + method;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaSetterMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaSetterMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaSetterMethod.java
deleted file mode 100644
index 6688deb..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertySetterFacetViaSetterMethod.java
+++ /dev/null
@@ -1,76 +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.isis.core.progmodel.facets.properties.modify;
-
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterInvokeUtils;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet.Intent;
-import org.apache.isis.core.metamodel.facets.properties.modify.PropertySetterFacetAbstract;
-
-public class PropertySetterFacetViaSetterMethod extends PropertySetterFacetAbstract implements ImperativeFacet {
-
-    private final Method method;
-
-    public PropertySetterFacetViaSetterMethod(final Method method, final FacetHolder holder) {
-        super(holder);
-        this.method = method;
-    }
-
-    /**
-     * Returns a singleton list of the {@link Method} provided in the
-     * constructor.
-     */
-    @Override
-    public List<Method> getMethods() {
-        return Collections.singletonList(method);
-    }
-
-    @Override
-    public Intent getIntent(final Method method) {
-        return Intent.MODIFY_PROPERTY;
-    }
-
-    @Override
-    public boolean impliesResolve() {
-        return true;
-    }
-
-    @Override
-    public boolean impliesObjectChanged() {
-        return true;
-    }
-
-    @Override
-    public void setProperty(final ObjectAdapter adapter, final ObjectAdapter valueAdapter) {
-        AdapterInvokeUtils.invoke(method, adapter, valueAdapter);
-    }
-
-    @Override
-    protected String toStringValues() {
-        return "method=" + method;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyAnnotation.java
deleted file mode 100644
index bc39f2f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyAnnotation.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.isis.core.progmodel.facets.properties.multiline.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacetAbstract;
-
-public class MultiLineFacetOnPropertyAnnotation extends MultiLineFacetAbstract {
-
-    public MultiLineFacetOnPropertyAnnotation(final int numberOfLines, final boolean preventWrapping, final FacetHolder holder) {
-        super(numberOfLines, preventWrapping, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.java
deleted file mode 100644
index 5d757e3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineFacetOnPropertyFromProperties.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.isis.core.progmodel.facets.properties.multiline.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacetAbstract;
-
-public class MultiLineFacetOnPropertyFromProperties extends MultiLineFacetAbstract {
-
-    public MultiLineFacetOnPropertyFromProperties(Properties properties, FacetHolder holder) {
-        super(numberOfLinesFrom(properties), preventWrappingFrom(properties), holder);
-    }
-
-    private static int numberOfLinesFrom(Properties properties) {
-        return Integer.parseInt(properties.getProperty("numberOfLines"));
-    }
-
-    private static boolean preventWrappingFrom(Properties properties) {
-        final String property = properties.getProperty("preventWrapping");
-        // same defaults as @MultiLine annotation
-        return property == null || Boolean.parseBoolean(property);
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineOnPropertyFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineOnPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineOnPropertyFacetFactory.java
deleted file mode 100644
index db1459e..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/multiline/annotation/MultiLineOnPropertyFacetFactory.java
+++ /dev/null
@@ -1,74 +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.isis.core.progmodel.facets.properties.multiline.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.applib.annotation.MultiLine;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.multiline.MultiLineFacet;
-
-public class MultiLineOnPropertyFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
-
-    public MultiLineOnPropertyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        MultiLineFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
-        if(facet == null) {
-            facet = createFromAnnotationIfPossible(processMethodContext);
-        }
-        
-        // no-op if null
-        FacetUtil.addFacet(facet);
-    }
-
-    @Override
-    public void process(ProcessContributeeMemberContext processMemberContext) {
-        
-    }
-    
-    private static MultiLineFacet createFromMetadataPropertiesIfPossible(
-            final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
-        
-        final FacetHolder holder = pcwmp.getFacetHolder();
-        
-        final Properties properties = pcwmp.metadataProperties("multiLine");
-        return properties != null ? new MultiLineFacetOnPropertyFromProperties(properties, holder) : null;
-    }
-
-    private static MultiLineFacetOnPropertyAnnotation createFromAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
-        final Class<?> returnType = processMethodContext.getMethod().getReturnType();
-        if (!Annotations.isString(returnType)) {
-            return null;
-        }
-        final MultiLine annotation = Annotations.getAnnotation(processMethodContext.getMethod(), MultiLine.class);
-        return (annotation != null) ? new MultiLineFacetOnPropertyAnnotation(annotation.numberOfLines(), annotation.preventWrapping(), processMethodContext.getFacetHolder()) : null;
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedAnnotationForPropertyFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedAnnotationForPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedAnnotationForPropertyFacetFactory.java
deleted file mode 100644
index 06cdf45..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedAnnotationForPropertyFacetFactory.java
+++ /dev/null
@@ -1,46 +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.isis.core.progmodel.facets.properties.notpersisted.annotation;
-
-import org.apache.isis.applib.annotation.NotPersisted;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
-
-public class NotPersistedAnnotationForPropertyFacetFactory extends FacetFactoryAbstract {
-
-    public NotPersistedAnnotationForPropertyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        final NotPersisted annotation = Annotations.getAnnotation(processMethodContext.getMethod(), NotPersisted.class);
-        FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder()));
-    }
-
-    private NotPersistedFacet create(final NotPersisted annotation, final FacetHolder holder) {
-        return annotation == null ? null : new NotPersistedFacetAnnotationForProperty(holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedFacetAnnotationForProperty.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedFacetAnnotationForProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedFacetAnnotationForProperty.java
deleted file mode 100644
index f4716b8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/notpersisted/annotation/NotPersistedFacetAnnotationForProperty.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.isis.core.progmodel.facets.properties.notpersisted.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacetAbstract;
-
-public class NotPersistedFacetAnnotationForProperty extends NotPersistedFacetAbstract {
-
-    public NotPersistedFacetAnnotationForProperty(final FacetHolder holder) {
-        super(holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeAnnotationOnPropertyFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeAnnotationOnPropertyFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeAnnotationOnPropertyFacetFactory.java
deleted file mode 100644
index dd027b2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeAnnotationOnPropertyFacetFactory.java
+++ /dev/null
@@ -1,48 +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.isis.core.progmodel.facets.properties.renderedasdaybefore.annotation;
-
-import org.apache.isis.applib.annotation.RenderedAsDayBefore;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.renderedadjusted.RenderedAdjustedFacet;
-
-public class RenderedAsDayBeforeAnnotationOnPropertyFacetFactory extends FacetFactoryAbstract {
-
-    public RenderedAsDayBeforeAnnotationOnPropertyFacetFactory() {
-        super(FeatureType.PROPERTIES_ONLY);
-    }
-
-    @Override
-    public void process(final ProcessMethodContext processMethodContext) {
-        final RenderedAsDayBefore annotation = Annotations.getAnnotation(processMethodContext.getMethod(), RenderedAsDayBefore.class);
-        final RenderedAdjustedFacet facet = create(annotation, processMethodContext.getFacetHolder());
-
-        FacetUtil.addFacet(facet);
-    }
-
-    private RenderedAdjustedFacet create(final RenderedAsDayBefore annotation, final FacetHolder holder) {
-        return annotation != null ? new RenderedAsDayBeforeFacetAnnotationOnProperty(holder) : null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeFacetAnnotationOnProperty.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeFacetAnnotationOnProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeFacetAnnotationOnProperty.java
deleted file mode 100644
index d213d6f..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/renderedasdaybefore/annotation/RenderedAsDayBeforeFacetAnnotationOnProperty.java
+++ /dev/null
@@ -1,38 +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.isis.core.progmodel.facets.properties.renderedasdaybefore.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.renderedadjusted.RenderedAdjustedFacetAbstract;
-
-public class RenderedAsDayBeforeFacetAnnotationOnProperty extends RenderedAdjustedFacetAbstract {
-
-    private static final int ADJUST_BY = -1;
-
-    public RenderedAsDayBeforeFacetAnnotationOnProperty(final FacetHolder holder) {
-        super(holder, false);
-    }
-
-    @Override
-    public int value() {
-        return ADJUST_BY;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyAnnotation.java
deleted file mode 100644
index 8f1f4d1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyAnnotation.java
+++ /dev/null
@@ -1,39 +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.isis.core.progmodel.facets.properties.typicallen.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacetAbstract;
-
-public class TypicalLengthFacetOnPropertyAnnotation extends TypicalLengthFacetAbstract {
-
-    private final int value;
-
-    public TypicalLengthFacetOnPropertyAnnotation(final int value, final FacetHolder holder) {
-        super(holder, false);
-        this.value = value;
-    }
-
-    @Override
-    public int value() {
-        return value;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/7227418b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
deleted file mode 100644
index dc361dc..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/typicallen/annotation/TypicalLengthFacetOnPropertyFromProperties.java
+++ /dev/null
@@ -1,41 +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.isis.core.progmodel.facets.properties.typicallen.annotation;
-
-import java.util.Properties;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.typicallen.TypicalLengthFacetAbstract;
-
-public class TypicalLengthFacetOnPropertyFromProperties extends TypicalLengthFacetAbstract {
-
-    private final int value;
-
-    public TypicalLengthFacetOnPropertyFromProperties(final Properties properties, final FacetHolder holder) {
-        super(holder, false);
-        this.value = Integer.parseInt(properties.getProperty("value"));
-    }
-
-    @Override
-    public int value() {
-        return value;
-    }
-
-}