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 2015/11/25 19:24:11 UTC
[2/5] isis git commit: ISIS-803: new annotation attributes allowing
suclasses of the lifecycle events to be posted (or disabled altogether). also
updated docs.
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
new file mode 100644
index 0000000..390c771
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetAbstract.java
@@ -0,0 +1,37 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
+
+public abstract class RemovingCallbackFacetAbstract extends CallbackFacetAbstract implements RemovingCallbackFacet {
+
+ public static Class<? extends Facet> type() {
+ return RemovingCallbackFacet.class;
+ }
+
+ public RemovingCallbackFacetAbstract(final FacetHolder holder) {
+ super(type(), holder);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java
new file mode 100644
index 0000000..dfa9947
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingCallbackFacetViaMethod.java
@@ -0,0 +1,65 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+
+public class RemovingCallbackFacetViaMethod extends RemovingCallbackFacetAbstract implements ImperativeFacet {
+
+ private final List<Method> methods = new ArrayList<Method>();
+
+ public RemovingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
+ super(holder);
+ addMethod(method);
+ }
+
+ @Override
+ public void addMethod(final Method method) {
+ methods.add(method);
+ }
+
+ @Override
+ public Intent getIntent(final Method method) {
+ return Intent.LIFECYCLE;
+ }
+
+ @Override
+ public List<Method> getMethods() {
+ return Collections.unmodifiableList(methods);
+ }
+
+ @Override
+ public void invoke(final ObjectAdapter adapter) {
+ ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
+ }
+
+ @Override
+ protected String toStringValues() {
+ return "methods=" + methods;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacet.java
new file mode 100644
index 0000000..a3e7803
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacet.java
@@ -0,0 +1,30 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.core.metamodel.facets.SingleClassValueFacet;
+
+/**
+ * Corresponds to {@link DomainObject#removingLifecycleEvent()}<tt>.
+ */
+public interface RemovingLifecycleEventFacet extends SingleClassValueFacet, LifecycleEventFacet {
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacetForDomainObjectAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacetForDomainObjectAnnotation.java
new file mode 100644
index 0000000..9b07994
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/RemovingLifecycleEventFacetForDomainObjectAnnotation.java
@@ -0,0 +1,51 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.applib.services.eventbus.ObjectRemovingEvent;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.SingleClassValueFacetAbstract;
+import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+
+public class RemovingLifecycleEventFacetForDomainObjectAnnotation extends SingleClassValueFacetAbstract implements LoadedLifecycleEventFacet {
+
+ static Class<? extends Facet> type() {
+ return RemovingLifecycleEventFacet.class;
+ }
+
+ public RemovingLifecycleEventFacetForDomainObjectAnnotation(
+ final FacetHolder holder,
+ final Class<? extends ObjectRemovingEvent<?>> value,
+ final SpecificationLoader specificationLoader) {
+ super(type(), holder, value, specificationLoader);
+ }
+
+ public Class<? extends ObjectRemovingEvent<?>> getEventType() {
+ //noinspection unchecked
+ return eventType();
+ }
+
+ Class eventType() {
+ return value();
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
new file mode 100644
index 0000000..fc1d149
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdateCallbackFacetFactory.java
@@ -0,0 +1,68 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+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.metamodel.facets.MethodFinderUtils;
+import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
+import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
+
+public class UpdateCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
+
+ private static final String[] PREFIXES = { MethodPrefixConstants.UPDATED_PREFIX, MethodPrefixConstants.UPDATING_PREFIX, };
+
+ public UpdateCallbackFacetFactory() {
+ super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
+ }
+
+ @Override
+ public void process(final ProcessClassContext processClassContext) {
+ final Class<?> cls = processClassContext.getCls();
+ final FacetHolder facetHolder = processClassContext.getFacetHolder();
+
+ final List<Facet> facets = new ArrayList<Facet>();
+ final List<Method> methods = new ArrayList<Method>();
+
+ Method method = null;
+ method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.UPDATING_PREFIX, void.class, NO_PARAMETERS_TYPES);
+ if (method != null) {
+ methods.add(method);
+ facets.add(new UpdatingCallbackFacetViaMethod(method, facetHolder));
+ }
+
+ method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.UPDATED_PREFIX, void.class, NO_PARAMETERS_TYPES);
+ if (method != null) {
+ methods.add(method);
+ facets.add(new UpdatedCallbackFacetViaMethod(method, facetHolder));
+ }
+
+ processClassContext.removeMethods(methods);
+ FacetUtil.addFacets(facets);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
new file mode 100644
index 0000000..edbf7f4
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetAbstract.java
@@ -0,0 +1,37 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
+
+public abstract class UpdatedCallbackFacetAbstract extends CallbackFacetAbstract implements UpdatedCallbackFacet {
+
+ public static Class<? extends Facet> type() {
+ return UpdatedCallbackFacet.class;
+ }
+
+ public UpdatedCallbackFacetAbstract(final FacetHolder holder) {
+ super(type(), holder);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java
new file mode 100644
index 0000000..c856237
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedCallbackFacetViaMethod.java
@@ -0,0 +1,65 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+
+public class UpdatedCallbackFacetViaMethod extends UpdatedCallbackFacetAbstract implements ImperativeFacet {
+
+ private final List<Method> methods = new ArrayList<Method>();
+
+ public UpdatedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
+ super(holder);
+ addMethod(method);
+ }
+
+ @Override
+ public void addMethod(final Method method) {
+ methods.add(method);
+ }
+
+ @Override
+ public List<Method> getMethods() {
+ return Collections.unmodifiableList(methods);
+ }
+
+ @Override
+ public Intent getIntent(final Method method) {
+ return Intent.LIFECYCLE;
+ }
+
+ @Override
+ public void invoke(final ObjectAdapter adapter) {
+ ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
+ }
+
+ @Override
+ protected String toStringValues() {
+ return "methods=" + methods;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacet.java
new file mode 100644
index 0000000..d7f6c8c
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacet.java
@@ -0,0 +1,30 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.core.metamodel.facets.SingleClassValueFacet;
+
+/**
+ * Corresponds to {@link DomainObject#updatedLifecycleEvent()}<tt>.
+ */
+public interface UpdatedLifecycleEventFacet extends SingleClassValueFacet, LifecycleEventFacet {
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacetForDomainObjectAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacetForDomainObjectAnnotation.java
new file mode 100644
index 0000000..8549e86
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatedLifecycleEventFacetForDomainObjectAnnotation.java
@@ -0,0 +1,51 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.applib.services.eventbus.ObjectUpdatedEvent;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.SingleClassValueFacetAbstract;
+import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+
+public class UpdatedLifecycleEventFacetForDomainObjectAnnotation extends SingleClassValueFacetAbstract implements LoadedLifecycleEventFacet {
+
+ static Class<? extends Facet> type() {
+ return UpdatedLifecycleEventFacet.class;
+ }
+
+ public UpdatedLifecycleEventFacetForDomainObjectAnnotation(
+ final FacetHolder holder,
+ final Class<? extends ObjectUpdatedEvent<?>> value,
+ final SpecificationLoader specificationLoader) {
+ super(type(), holder, value, specificationLoader);
+ }
+
+ public Class<? extends ObjectUpdatedEvent<?>> getEventType() {
+ //noinspection unchecked
+ return eventType();
+ }
+
+ Class eventType() {
+ return value();
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
new file mode 100644
index 0000000..a12ea17
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetAbstract.java
@@ -0,0 +1,37 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingCallbackFacet;
+import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
+
+public abstract class UpdatingCallbackFacetAbstract extends CallbackFacetAbstract implements UpdatingCallbackFacet {
+
+ public static Class<? extends Facet> type() {
+ return UpdatingCallbackFacet.class;
+ }
+
+ public UpdatingCallbackFacetAbstract(final FacetHolder holder) {
+ super(type(), holder);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java
new file mode 100644
index 0000000..80c04ed
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingCallbackFacetViaMethod.java
@@ -0,0 +1,69 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import org.apache.isis.core.commons.lang.Wormhole;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.ImperativeFacet;
+
+public class UpdatingCallbackFacetViaMethod extends UpdatingCallbackFacetAbstract implements ImperativeFacet {
+
+ private final List<Method> methods = new ArrayList<Method>();
+
+ public UpdatingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
+ super(holder);
+ addMethod(method);
+ }
+
+ @Override
+ public void addMethod(final Method method) {
+ methods.add(method);
+ }
+
+ @Override
+ public List<Method> getMethods() {
+ return Collections.unmodifiableList(methods);
+ }
+
+ @Override
+ public Intent getIntent(final Method method) {
+ return Intent.LIFECYCLE;
+ }
+
+ @Override
+ public void invoke(final ObjectAdapter adapter) {
+ Wormhole.invoke(new Runnable() {
+ @Override
+ public void run() {
+ ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
+ }
+ });
+ }
+
+ @Override
+ protected String toStringValues() {
+ return "methods=" + methods;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacet.java
new file mode 100644
index 0000000..d7fa780
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacet.java
@@ -0,0 +1,30 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.applib.annotation.DomainObject;
+import org.apache.isis.core.metamodel.facets.SingleClassValueFacet;
+
+/**
+ * Corresponds to {@link DomainObject#updatingLifecycleEvent()}<tt>.
+ */
+public interface UpdatingLifecycleEventFacet extends SingleClassValueFacet, LifecycleEventFacet {
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacetForDomainObjectAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacetForDomainObjectAnnotation.java
new file mode 100644
index 0000000..c1ad0ba
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/UpdatingLifecycleEventFacetForDomainObjectAnnotation.java
@@ -0,0 +1,51 @@
+/*
+ * 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.metamodel.facets.object.callbacks;
+
+import org.apache.isis.applib.services.eventbus.ObjectUpdatingEvent;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.SingleClassValueFacetAbstract;
+import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+
+public class UpdatingLifecycleEventFacetForDomainObjectAnnotation extends SingleClassValueFacetAbstract implements LoadedLifecycleEventFacet {
+
+ static Class<? extends Facet> type() {
+ return UpdatingLifecycleEventFacet.class;
+ }
+
+ public UpdatingLifecycleEventFacetForDomainObjectAnnotation(
+ final FacetHolder holder,
+ final Class<? extends ObjectUpdatingEvent<?>> value,
+ final SpecificationLoader specificationLoader) {
+ super(type(), holder, value, specificationLoader);
+ }
+
+ public Class<? extends ObjectUpdatingEvent<?>> getEventType() {
+ //noinspection unchecked
+ return eventType();
+ }
+
+ Class eventType() {
+ return value();
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetAbstract.java
deleted file mode 100644
index 2921455..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetAbstract.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.metamodel.facets.object.callbacks.create;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CreatedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
-
-public abstract class CreatedCallbackFacetAbstract extends CallbackFacetAbstract implements CreatedCallbackFacet {
-
- public static Class<? extends Facet> type() {
- return CreatedCallbackFacet.class;
- }
-
- public CreatedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetFactory.java
deleted file mode 100644
index 1d05fa9..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetFactory.java
+++ /dev/null
@@ -1,62 +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.metamodel.facets.object.callbacks.create;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-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.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
-
-public class CreatedCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.CREATED_PREFIX, };
-
- public CreatedCallbackFacetFactory() {
- super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.CREATED_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- facets.add(new CreatedCallbackFacetViaMethod(method, holder));
- }
-
- processClassContext.removeMethods(methods);
- FacetUtil.addFacets(facets);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetViaMethod.java
deleted file mode 100644
index ce4d7e5..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/create/CreatedCallbackFacetViaMethod.java
+++ /dev/null
@@ -1,65 +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.metamodel.facets.object.callbacks.create;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-
-public class CreatedCallbackFacetViaMethod extends CreatedCallbackFacetAbstract implements ImperativeFacet {
-
- private final List<Method> methods = new ArrayList<Method>();
-
- public CreatedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
- }
-
- @Override
- public void addMethod(final Method method) {
- methods.add(method);
- }
-
- @Override
- public Intent getIntent(final Method method) {
- return Intent.LIFECYCLE;
- }
-
- @Override
- public List<Method> getMethods() {
- return Collections.unmodifiableList(methods);
- }
-
- @Override
- public void invoke(final ObjectAdapter adapter) {
- ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
- }
-
- @Override
- protected String toStringValues() {
- return "methods=" + methods;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadCallbackFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadCallbackFacetFactory.java
deleted file mode 100644
index e7b3023..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadCallbackFacetFactory.java
+++ /dev/null
@@ -1,68 +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.metamodel.facets.object.callbacks.load;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-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.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
-
-public class LoadCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.LOADED_PREFIX, MethodPrefixConstants.LOADING_PREFIX, };
-
- public LoadCallbackFacetFactory() {
- super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.LOADING_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- facets.add(new LoadingCallbackFacetViaMethod(method, facetHolder));
- }
-
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.LOADED_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- facets.add(new LoadedCallbackFacetViaMethod(method, facetHolder));
- }
-
- processClassContext.removeMethods(methods);
- FacetUtil.addFacets(facets);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetAbstract.java
deleted file mode 100644
index a014324..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetAbstract.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.metamodel.facets.object.callbacks.load;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.LoadedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
-
-public abstract class LoadedCallbackFacetAbstract extends CallbackFacetAbstract implements LoadedCallbackFacet {
-
- public static Class<? extends Facet> type() {
- return LoadedCallbackFacet.class;
- }
-
- public LoadedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetViaMethod.java
deleted file mode 100644
index b33c35b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadedCallbackFacetViaMethod.java
+++ /dev/null
@@ -1,65 +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.metamodel.facets.object.callbacks.load;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-
-public class LoadedCallbackFacetViaMethod extends LoadedCallbackFacetAbstract implements ImperativeFacet {
-
- private final List<Method> methods = new ArrayList<Method>();
-
- public LoadedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
- }
-
- @Override
- public void addMethod(final Method method) {
- methods.add(method);
- }
-
- @Override
- public List<Method> getMethods() {
- return Collections.unmodifiableList(methods);
- }
-
- @Override
- public Intent getIntent(final Method method) {
- return Intent.LIFECYCLE;
- }
-
- @Override
- public void invoke(final ObjectAdapter adapter) {
- ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
- }
-
- @Override
- protected String toStringValues() {
- return "methods=" + methods;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetAbstract.java
deleted file mode 100644
index 731598b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetAbstract.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.metamodel.facets.object.callbacks.load;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.LoadingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
-
-/**
- * @deprecated - THIS CAN NEVER BE CALLED (BY JDO OBJECTSTORE AT LEAST)
- */
-@Deprecated
-public abstract class LoadingCallbackFacetAbstract extends CallbackFacetAbstract implements LoadingCallbackFacet {
-
- public static Class<? extends Facet> type() {
- return LoadingCallbackFacet.class;
- }
-
- public LoadingCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetViaMethod.java
deleted file mode 100644
index e341560..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/load/LoadingCallbackFacetViaMethod.java
+++ /dev/null
@@ -1,69 +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.metamodel.facets.object.callbacks.load;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-
-/**
- * @deprecated - THIS CAN NEVER BE CALLED (BY JDO OBJECTSTORE AT LEAST)
- */
-@Deprecated
-public class LoadingCallbackFacetViaMethod extends LoadingCallbackFacetAbstract implements ImperativeFacet {
-
- private final List<Method> methods = new ArrayList<Method>();
-
- public LoadingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
- }
-
- @Override
- public void addMethod(final Method method) {
- methods.add(method);
- }
-
- @Override
- public List<Method> getMethods() {
- return Collections.unmodifiableList(methods);
- }
-
- @Override
- public Intent getIntent(final Method method) {
- return Intent.LIFECYCLE;
- }
-
- @Override
- public void invoke(final ObjectAdapter adapter) {
- ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
- }
-
- @Override
- protected String toStringValues() {
- return "methods=" + methods;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackFacetFactory.java
deleted file mode 100644
index 9310d82..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackFacetFactory.java
+++ /dev/null
@@ -1,80 +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.metamodel.facets.object.callbacks.persist;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-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.callbacks.PersistedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
-
-public class PersistCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.PERSISTED_PREFIX, MethodPrefixConstants.PERSISTING_PREFIX, };
-
- public PersistCallbackFacetFactory() {
- super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.PERSISTING_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final PersistingCallbackFacet facet = facetHolder.getFacet(PersistingCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistingCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.PERSISTED_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final PersistedCallbackFacet facet = facetHolder.getFacet(PersistedCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistedCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- processClassContext.removeMethods(methods);
- FacetUtil.addFacets(facets);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackViaSaveMethodFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackViaSaveMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackViaSaveMethodFacetFactory.java
deleted file mode 100644
index 29b05db..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistCallbackViaSaveMethodFacetFactory.java
+++ /dev/null
@@ -1,80 +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.metamodel.facets.object.callbacks.persist;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-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.callbacks.PersistedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
-
-public class PersistCallbackViaSaveMethodFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.SAVED_PREFIX, MethodPrefixConstants.SAVING_PREFIX, };
-
- public PersistCallbackViaSaveMethodFacetFactory() {
- super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.SAVING_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final PersistingCallbackFacet facet = facetHolder.getFacet(PersistingCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistingCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.SAVED_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final PersistedCallbackFacet facet = facetHolder.getFacet(PersistedCallbackFacet.class);
- if (facet == null) {
- facets.add(new PersistedCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- processClassContext.removeMethods(methods);
- FacetUtil.addFacets(facets);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetAbstract.java
deleted file mode 100644
index 9685cd3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetAbstract.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.metamodel.facets.object.callbacks.persist;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
-
-public abstract class PersistedCallbackFacetAbstract extends CallbackFacetAbstract implements PersistedCallbackFacet {
-
- public static Class<? extends Facet> type() {
- return PersistedCallbackFacet.class;
- }
-
- public PersistedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetViaMethod.java
deleted file mode 100644
index 2b4d725..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistedCallbackFacetViaMethod.java
+++ /dev/null
@@ -1,65 +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.metamodel.facets.object.callbacks.persist;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-
-public class PersistedCallbackFacetViaMethod extends PersistedCallbackFacetAbstract implements ImperativeFacet {
-
- private final List<Method> methods = new ArrayList<Method>();
-
- public PersistedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
- }
-
- @Override
- public void addMethod(final Method method) {
- methods.add(method);
- }
-
- @Override
- public Intent getIntent(final Method method) {
- return Intent.LIFECYCLE;
- }
-
- @Override
- public List<Method> getMethods() {
- return Collections.unmodifiableList(methods);
- }
-
- @Override
- public void invoke(final ObjectAdapter adapter) {
- ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
- }
-
- @Override
- protected String toStringValues() {
- return "methods=" + methods;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetAbstract.java
deleted file mode 100644
index c63f2d0..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetAbstract.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.metamodel.facets.object.callbacks.persist;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.PersistingCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
-
-public abstract class PersistingCallbackFacetAbstract extends CallbackFacetAbstract implements PersistingCallbackFacet {
-
- public static Class<? extends Facet> type() {
- return PersistingCallbackFacet.class;
- }
-
- public PersistingCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetViaMethod.java
deleted file mode 100644
index e30033c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/persist/PersistingCallbackFacetViaMethod.java
+++ /dev/null
@@ -1,65 +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.metamodel.facets.object.callbacks.persist;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-
-public class PersistingCallbackFacetViaMethod extends PersistingCallbackFacetAbstract implements ImperativeFacet {
-
- private final List<Method> methods = new ArrayList<Method>();
-
- public PersistingCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
- }
-
- @Override
- public void addMethod(final Method method) {
- methods.add(method);
- }
-
- @Override
- public List<Method> getMethods() {
- return Collections.unmodifiableList(methods);
- }
-
- @Override
- public Intent getIntent(final Method method) {
- return Intent.LIFECYCLE;
- }
-
- @Override
- public void invoke(final ObjectAdapter adapter) {
- ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
- }
-
- @Override
- protected String toStringValues() {
- return "methods=" + methods;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackFacetFactory.java
deleted file mode 100644
index d850fd3..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackFacetFactory.java
+++ /dev/null
@@ -1,80 +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.metamodel.facets.object.callbacks.remove;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-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.callbacks.RemovedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
-
-public class RemoveCallbackFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.REMOVED_PREFIX, MethodPrefixConstants.REMOVING_PREFIX, };
-
- public RemoveCallbackFacetFactory() {
- super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder facetHolder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.REMOVING_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final RemovingCallbackFacet facet = facetHolder.getFacet(RemovingCallbackFacet.class);
- if (facet == null) {
- facets.add(new RemovingCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.REMOVED_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final RemovedCallbackFacet facet = facetHolder.getFacet(RemovedCallbackFacet.class);
- if (facet == null) {
- facets.add(new RemovedCallbackFacetViaMethod(method, facetHolder));
- } else {
- facet.addMethod(method);
- }
- }
-
- processClassContext.removeMethods(methods);
- FacetUtil.addFacets(facets);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackViaDeleteMethodFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackViaDeleteMethodFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackViaDeleteMethodFacetFactory.java
deleted file mode 100644
index 92da2de..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemoveCallbackViaDeleteMethodFacetFactory.java
+++ /dev/null
@@ -1,80 +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.metamodel.facets.object.callbacks.remove;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-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.callbacks.RemovedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingCallbackFacet;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-import org.apache.isis.core.metamodel.facets.MethodFinderUtils;
-import org.apache.isis.core.metamodel.facets.MethodPrefixBasedFacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.MethodPrefixConstants;
-
-public class RemoveCallbackViaDeleteMethodFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.DELETED_PREFIX, MethodPrefixConstants.DELETING_PREFIX, };
-
- public RemoveCallbackViaDeleteMethodFacetFactory() {
- super(FeatureType.OBJECTS_ONLY, OrphanValidation.VALIDATE, PREFIXES);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final Class<?> cls = processClassContext.getCls();
- final FacetHolder holder = processClassContext.getFacetHolder();
-
- final List<Facet> facets = new ArrayList<Facet>();
- final List<Method> methods = new ArrayList<Method>();
-
- Method method = null;
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.DELETING_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final RemovingCallbackFacet facet = holder.getFacet(RemovingCallbackFacet.class);
- if (facet == null) {
- facets.add(new RemovingCallbackFacetViaMethod(method, holder));
- } else {
- facet.addMethod(method);
- }
- }
-
- method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.DELETED_PREFIX, void.class, NO_PARAMETERS_TYPES);
- if (method != null) {
- methods.add(method);
- final RemovedCallbackFacet facet = holder.getFacet(RemovedCallbackFacet.class);
- if (facet == null) {
- facets.add(new RemovedCallbackFacetViaMethod(method, holder));
- } else {
- facet.addMethod(method);
- }
- }
-
- processClassContext.removeMethods(methods);
- FacetUtil.addFacets(facets);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetAbstract.java
deleted file mode 100644
index 964070e..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetAbstract.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.metamodel.facets.object.callbacks.remove;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.object.callbacks.RemovedCallbackFacet;
-import org.apache.isis.core.metamodel.facets.object.callbacks.CallbackFacetAbstract;
-
-public abstract class RemovedCallbackFacetAbstract extends CallbackFacetAbstract implements RemovedCallbackFacet {
-
- public static Class<? extends Facet> type() {
- return RemovedCallbackFacet.class;
- }
-
- public RemovedCallbackFacetAbstract(final FacetHolder holder) {
- super(type(), holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/8cf480de/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetViaMethod.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetViaMethod.java
deleted file mode 100644
index e67940b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/callbacks/remove/RemovedCallbackFacetViaMethod.java
+++ /dev/null
@@ -1,65 +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.metamodel.facets.object.callbacks.remove;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-
-public class RemovedCallbackFacetViaMethod extends RemovedCallbackFacetAbstract implements ImperativeFacet {
-
- private final List<Method> methods = new ArrayList<Method>();
-
- public RemovedCallbackFacetViaMethod(final Method method, final FacetHolder holder) {
- super(holder);
- addMethod(method);
- }
-
- @Override
- public void addMethod(final Method method) {
- methods.add(method);
- }
-
- @Override
- public List<Method> getMethods() {
- return Collections.unmodifiableList(methods);
- }
-
- @Override
- public Intent getIntent(final Method method) {
- return Intent.LIFECYCLE;
- }
-
- @Override
- public void invoke(final ObjectAdapter adapter) {
- ObjectAdapter.InvokeUtils.invokeAll(methods, adapter);
- }
-
- @Override
- protected String toStringValues() {
- return "methods=" + methods;
- }
-
-}