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;
- }
-
-}