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 2011/04/27 00:03:55 UTC
svn commit: r1096928 [12/16] - in
/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel:
facetdecorators/help/ facetdecorators/help/file/
facetdecorators/help/file/internal/ facetdecorators/i18n/
facetdecorators/i18n/interna...
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/validate/regexannot/RegExFacetAnnotationForParameterFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/validate/regexannot/RegExFacetAnnotationForParameterFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/validate/regexannot/RegExFacetAnnotationForParameterFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/param/validate/regexannot/RegExFacetAnnotationForParameterFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.param.validate.regexannot;
-package org.apache.isis.core.progmodel.facets.param.validate.regexannot;
-
import java.lang.annotation.Annotation;
import org.apache.isis.applib.annotation.RegEx;
@@ -30,60 +29,60 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
import org.apache.isis.core.progmodel.facets.object.regex.RegExFacet;
import org.apache.isis.core.progmodel.facets.object.regex.TitleFacetFormattedByRegex;
-
-
-public class RegExFacetAnnotationForParameterFacetFactory extends AnnotationBasedFacetFactoryAbstract {
-
- public RegExFacetAnnotationForParameterFacetFactory() {
- super(FeatureType.PARAMETERS_ONLY);
- }
-
- @Override
- public void processParams(ProcessParameterContext processParameterContext) {
- final Class<?>[] parameterTypes = processParameterContext.getMethod().getParameterTypes();
- if (processParameterContext.getParamNum() >= parameterTypes.length) {
- // ignore
- return;
- }
- if (!isString(parameterTypes[processParameterContext.getParamNum()])) {
- return;
- }
-
- final Annotation[] parameterAnnotations = getParameterAnnotations(processParameterContext.getMethod())[processParameterContext.getParamNum()];
- for (int j = 0; j < parameterAnnotations.length; j++) {
- if (parameterAnnotations[j] instanceof RegEx) {
- final RegEx annotation = (RegEx) parameterAnnotations[j];
+
+public class RegExFacetAnnotationForParameterFacetFactory extends AnnotationBasedFacetFactoryAbstract {
+
+ public RegExFacetAnnotationForParameterFacetFactory() {
+ super(FeatureType.PARAMETERS_ONLY);
+ }
+
+ @Override
+ public void processParams(final ProcessParameterContext processParameterContext) {
+ final Class<?>[] parameterTypes = processParameterContext.getMethod().getParameterTypes();
+ if (processParameterContext.getParamNum() >= parameterTypes.length) {
+ // ignore
+ return;
+ }
+ if (!isString(parameterTypes[processParameterContext.getParamNum()])) {
+ return;
+ }
+
+ final Annotation[] parameterAnnotations =
+ getParameterAnnotations(processParameterContext.getMethod())[processParameterContext.getParamNum()];
+ for (final Annotation parameterAnnotation : parameterAnnotations) {
+ if (parameterAnnotation instanceof RegEx) {
+ final RegEx annotation = (RegEx) parameterAnnotation;
addRegexFacetAndCorrespondingTitleFacet(processParameterContext.getFacetHolder(), annotation);
- return;
- }
- }
- }
-
- private void addRegexFacetAndCorrespondingTitleFacet(final FacetHolder holder, final RegEx annotation) {
- final RegExFacet regexFacet = createRegexFacet(annotation, holder);
- if (regexFacet == null) {
- return;
- }
- FacetUtil.addFacet(regexFacet);
-
- final TitleFacet titleFacet = createTitleFacet(regexFacet);
- FacetUtil.addFacet(titleFacet);
- }
-
- private RegExFacet createRegexFacet(final RegEx annotation, final FacetHolder holder) {
- if (annotation == null) {
- return null;
- }
-
- final String validationExpression = annotation.validation();
- final boolean caseSensitive = annotation.caseSensitive();
- final String formatExpression = annotation.format();
-
- return new RegExFacetAnnotationForParameter(validationExpression, formatExpression, caseSensitive, holder);
- }
-
- private TitleFacet createTitleFacet(final RegExFacet regexFacet) {
- return new TitleFacetFormattedByRegex(regexFacet);
- }
-
-}
+ return;
+ }
+ }
+ }
+
+ private void addRegexFacetAndCorrespondingTitleFacet(final FacetHolder holder, final RegEx annotation) {
+ final RegExFacet regexFacet = createRegexFacet(annotation, holder);
+ if (regexFacet == null) {
+ return;
+ }
+ FacetUtil.addFacet(regexFacet);
+
+ final TitleFacet titleFacet = createTitleFacet(regexFacet);
+ FacetUtil.addFacet(titleFacet);
+ }
+
+ private RegExFacet createRegexFacet(final RegEx annotation, final FacetHolder holder) {
+ if (annotation == null) {
+ return null;
+ }
+
+ final String validationExpression = annotation.validation();
+ final boolean caseSensitive = annotation.caseSensitive();
+ final String formatExpression = annotation.format();
+
+ return new RegExFacetAnnotationForParameter(validationExpression, formatExpression, caseSensitive, holder);
+ }
+
+ private TitleFacet createTitleFacet(final RegExFacet regexFacet) {
+ return new TitleFacetFormattedByRegex(regexFacet);
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.accessor;
-package org.apache.isis.core.progmodel.facets.properties.accessor;
-
import java.lang.reflect.Method;
import java.util.List;
@@ -30,84 +29,79 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.methodutils.MethodScope;
import org.apache.isis.core.progmodel.facets.MethodPrefixConstants;
import org.apache.isis.core.progmodel.facets.PropertyOrCollectionIdentifyingFacetFactoryAbstract;
-
-
-public class PropertyAccessorFacetFactory extends PropertyOrCollectionIdentifyingFacetFactoryAbstract {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.GET_PREFIX, MethodPrefixConstants.IS_PREFIX };
-
- public PropertyAccessorFacetFactory() {
- super(FeatureType.PROPERTIES_ONLY, PREFIXES);
- }
-
+
+public class PropertyAccessorFacetFactory extends PropertyOrCollectionIdentifyingFacetFactoryAbstract {
+
+ private static final String[] PREFIXES = { MethodPrefixConstants.GET_PREFIX, MethodPrefixConstants.IS_PREFIX };
+
+ public PropertyAccessorFacetFactory() {
+ super(FeatureType.PROPERTIES_ONLY, PREFIXES);
+ }
+
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
attachPropertyAccessFacetForAccessorMethod(processMethodContext);
}
- private static void attachPropertyAccessFacetForAccessorMethod(ProcessMethodContext processMethodContext) {
-
+ private static void attachPropertyAccessFacetForAccessorMethod(final ProcessMethodContext processMethodContext) {
+
final Method accessorMethod = processMethodContext.getMethod();
-
+
processMethodContext.removeMethod(accessorMethod);
-
+
final FacetHolder property = processMethodContext.getFacetHolder();
FacetUtil.addFacet(new PropertyAccessorFacetViaAccessor(accessorMethod, property));
}
-
- /////////////////////////////////////////////////////////
+ // ///////////////////////////////////////////////////////
// PropertyOrCollectionIdentifying
- /////////////////////////////////////////////////////////
+ // ///////////////////////////////////////////////////////
@Override
- public boolean isPropertyOrCollectionAccessorCandidate(final Method method) {
- final String methodName = method.getName();
- if (methodName.startsWith(MethodPrefixConstants.GET_PREFIX)) {
- return true;
- }
- if (methodName.startsWith(MethodPrefixConstants.IS_PREFIX) && method.getReturnType() == boolean.class) {
- return true;
- }
- return false;
- }
-
- /**
- * The method way well represent a collection, but this facet factory does not have any opinion on the
- * matter.
- */
- @Override
- public boolean isCollectionAccessor(final Method method) {
- return false;
- }
-
- @Override
- public boolean isPropertyAccessor(final Method method) {
- if (!isPropertyOrCollectionAccessorCandidate(method)) {
- return false;
- }
- final Class<?> methodReturnType = method.getReturnType();
- return isCollectionOrArray(methodReturnType);
- }
-
- @Override
- public void findAndRemovePropertyAccessors(final MethodRemover methodRemover, final List<Method> methodListToAppendTo) {
- appendMatchingMethods(methodRemover, MethodPrefixConstants.IS_PREFIX, boolean.class, methodListToAppendTo);
- appendMatchingMethods(methodRemover, MethodPrefixConstants.GET_PREFIX, Object.class, methodListToAppendTo);
+ public boolean isPropertyOrCollectionAccessorCandidate(final Method method) {
+ final String methodName = method.getName();
+ if (methodName.startsWith(MethodPrefixConstants.GET_PREFIX)) {
+ return true;
+ }
+ if (methodName.startsWith(MethodPrefixConstants.IS_PREFIX) && method.getReturnType() == boolean.class) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * The method way well represent a collection, but this facet factory does not have any opinion on the matter.
+ */
+ @Override
+ public boolean isCollectionAccessor(final Method method) {
+ return false;
+ }
+
+ @Override
+ public boolean isPropertyAccessor(final Method method) {
+ if (!isPropertyOrCollectionAccessorCandidate(method)) {
+ return false;
+ }
+ final Class<?> methodReturnType = method.getReturnType();
+ return isCollectionOrArray(methodReturnType);
+ }
+
+ @Override
+ public void findAndRemovePropertyAccessors(final MethodRemover methodRemover,
+ final List<Method> methodListToAppendTo) {
+ appendMatchingMethods(methodRemover, MethodPrefixConstants.IS_PREFIX, boolean.class, methodListToAppendTo);
+ appendMatchingMethods(methodRemover, MethodPrefixConstants.GET_PREFIX, Object.class, methodListToAppendTo);
}
private static void appendMatchingMethods(final MethodRemover methodRemover, final String prefix,
final Class<?> returnType, final List<Method> methodListToAppendTo) {
methodListToAppendTo.addAll(methodRemover.removeMethods(MethodScope.OBJECT, prefix, returnType, false, 0));
- }
-
- @Override
- public void findAndRemoveCollectionAccessors(
- final MethodRemover methodRemover,
- final List<Method> methodListToAppendTo) {
- // does nothing
}
+ @Override
+ public void findAndRemoveCollectionAccessors(final MethodRemover methodRemover,
+ final List<Method> methodListToAppendTo) {
+ // does nothing
+ }
-
-}
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/accessor/PropertyAccessorFacetViaAccessor.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.accessor;
-package org.apache.isis.core.progmodel.facets.properties.accessor;
-
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.List;
@@ -30,46 +29,47 @@ import org.apache.isis.core.metamodel.ad
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.accessor.PropertyOrCollectionAccessorFacetAbstract;
-
-
-public class PropertyAccessorFacetViaAccessor extends PropertyOrCollectionAccessorFacetAbstract implements ImperativeFacet {
-
- private final Method method;
-
- public PropertyAccessorFacetViaAccessor(
- final Method method,
- final FacetHolder holder) {
- super(holder);
- this.method = method;
- }
-
- /**
- * Returns a singleton list of the {@link Method} provided in the constructor.
- */
- public List<Method> getMethods() {
- return Collections.singletonList(method);
- }
-
- public boolean impliesResolve() {
- return true;
- }
-
- /**
- * Bytecode cannot automatically call {@link DomainObjectContainer#objectChanged(Object)}
- * because cannot distinguish whether interacting with accessor to read it or to modify its contents.
- */
- public boolean impliesObjectChanged() {
- return false;
- }
-
- @Override
- public Object getProperty(final ObjectAdapter owningAdapter) {
- return AdapterInvokeUtils.invoke(method, owningAdapter);
- }
-
- @Override
- protected String toStringValues() {
- return "method=" + method;
- }
-
-}
+
+public class PropertyAccessorFacetViaAccessor extends PropertyOrCollectionAccessorFacetAbstract implements
+ ImperativeFacet {
+
+ private final Method method;
+
+ public PropertyAccessorFacetViaAccessor(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 boolean impliesResolve() {
+ return true;
+ }
+
+ /**
+ * Bytecode cannot automatically call {@link DomainObjectContainer#objectChanged(Object)} because cannot distinguish
+ * whether interacting with accessor to read it or to modify its contents.
+ */
+ @Override
+ public boolean impliesObjectChanged() {
+ return false;
+ }
+
+ @Override
+ public Object getProperty(final ObjectAdapter owningAdapter) {
+ return AdapterInvokeUtils.invoke(method, owningAdapter);
+ }
+
+ @Override
+ protected String toStringValues() {
+ return "method=" + method;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/PropertyChoicesFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/PropertyChoicesFacetAbstract.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/PropertyChoicesFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/PropertyChoicesFacetAbstract.java Tue Apr 26 22:03:43 2011
@@ -17,37 +17,33 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.choices;
-package org.apache.isis.core.progmodel.facets.properties.choices;
-
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.choices.PropertyChoicesFacet;
import org.apache.isis.core.metamodel.spec.SpecificationLookup;
-
-
-public abstract class PropertyChoicesFacetAbstract extends FacetAbstract implements PropertyChoicesFacet {
-
- public static Class<? extends Facet> type() {
- return PropertyChoicesFacet.class;
+
+public abstract class PropertyChoicesFacetAbstract extends FacetAbstract implements PropertyChoicesFacet {
+
+ public static Class<? extends Facet> type() {
+ return PropertyChoicesFacet.class;
}
private final SpecificationLookup specificationLookup;
-
- public PropertyChoicesFacetAbstract(final FacetHolder holder, final SpecificationLookup specificationLookup) {
- super(type(), holder, false);
+ public PropertyChoicesFacetAbstract(final FacetHolder holder, final SpecificationLookup specificationLookup) {
+ super(type(), holder, false);
this.specificationLookup = specificationLookup;
}
-
- //////////////////////////////////////////////////////////
+
+ // ////////////////////////////////////////////////////////
// Dependencies (from constructor)
- //////////////////////////////////////////////////////////
-
+ // ////////////////////////////////////////////////////////
+
protected SpecificationLookup getSpecificationLoader() {
- return specificationLookup;
+ return specificationLookup;
}
-
-
-}
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacet.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.properties.choices.enums;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -30,24 +29,25 @@ import org.apache.isis.core.progmodel.fa
public class PropertyChoicesFacetDerivedFromChoicesFacet extends PropertyChoicesFacetAbstract {
- public PropertyChoicesFacetDerivedFromChoicesFacet(FacetHolder holder, SpecificationLookup specificationLookup) {
+ public PropertyChoicesFacetDerivedFromChoicesFacet(final FacetHolder holder,
+ final SpecificationLookup specificationLookup) {
super(holder, specificationLookup);
}
@Override
- public Object[] getChoices(ObjectAdapter adapter, SpecificationLookup specificationLookup) {
- FacetHolder facetHolder = getFacetHolder();
- FacetedMethod noap = (FacetedMethod) facetHolder;
- ObjectSpecification noSpec = getSpecification(noap.getType());
- ChoicesFacet choicesFacet = noSpec.getFacet(ChoicesFacet.class);
- if (choicesFacet == null)
+ public Object[] getChoices(final ObjectAdapter adapter, final SpecificationLookup specificationLookup) {
+ final FacetHolder facetHolder = getFacetHolder();
+ final FacetedMethod noap = (FacetedMethod) facetHolder;
+ final ObjectSpecification noSpec = getSpecification(noap.getType());
+ final ChoicesFacet choicesFacet = noSpec.getFacet(ChoicesFacet.class);
+ if (choicesFacet == null) {
return new Object[0];
+ }
return choicesFacet.getChoices(adapter);
}
-
- public ObjectSpecification getSpecification(Class<?> type) {
+
+ public ObjectSpecification getSpecification(final Class<?> type) {
return type == null ? null : getSpecificationLoader().loadSpecification(type);
}
-
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/enums/PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,18 +17,16 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.properties.choices.enums;
-
import org.apache.isis.core.metamodel.adapter.map.AdapterMap;
import org.apache.isis.core.metamodel.adapter.map.AdapterMapAware;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-public class PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory extends
- FacetFactoryAbstract implements AdapterMapAware {
+public class PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory extends FacetFactoryAbstract implements
+ AdapterMapAware {
private AdapterMap adapterMap;
@@ -37,28 +35,28 @@ public class PropertyChoicesFacetDerived
}
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
+
+ final Class<?> returnType = processMethodContext.getMethod().getReturnType();
- Class<?> returnType = processMethodContext.getMethod().getReturnType();
-
if (!returnType.isEnum()) {
return;
}
-
- FacetUtil.addFacet(new PropertyChoicesFacetDerivedFromChoicesFacet(processMethodContext.getFacetHolder(), getSpecificationLookup()));
+
+ FacetUtil.addFacet(new PropertyChoicesFacetDerivedFromChoicesFacet(processMethodContext.getFacetHolder(),
+ getSpecificationLookup()));
}
-
- ///////////////////////////////////////////////
+ // /////////////////////////////////////////////
// Injected
- ///////////////////////////////////////////////
+ // /////////////////////////////////////////////
protected AdapterMap getAdapterMap() {
return adapterMap;
}
-
+
@Override
- public void setAdapterMap(AdapterMap adapterMap) {
+ public void setAdapterMap(final AdapterMap adapterMap) {
this.adapterMap = adapterMap;
}
}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.choices.method;
-package org.apache.isis.core.progmodel.facets.properties.choices.method;
-
import java.lang.reflect.Method;
import org.apache.isis.core.commons.lang.NameUtils;
@@ -32,53 +31,54 @@ import org.apache.isis.core.metamodel.me
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 PropertyChoicesFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements AdapterMapAware {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.CHOICES_PREFIX };
-
- private AdapterMap adapterMap;
-
- public PropertyChoicesFacetFactory() {
- super(FeatureType.PROPERTIES_ONLY, PREFIXES);
- }
-
+
+public class PropertyChoicesFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements AdapterMapAware {
+
+ private static final String[] PREFIXES = { MethodPrefixConstants.CHOICES_PREFIX };
+
+ private AdapterMap adapterMap;
+
+ public PropertyChoicesFacetFactory() {
+ super(FeatureType.PROPERTIES_ONLY, PREFIXES);
+ }
+
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
attachPropertyChoicesFacetIfChoicesMethodIsFound(processMethodContext);
}
- private void attachPropertyChoicesFacetIfChoicesMethodIsFound(ProcessMethodContext processMethodContext) {
-
+ private void attachPropertyChoicesFacetIfChoicesMethodIsFound(final ProcessMethodContext processMethodContext) {
+
final Method getMethod = processMethodContext.getMethod();
final String capitalizedName = NameUtils.javaBaseName(getMethod.getName());
-
- Class<?> cls = processMethodContext.getCls();
+
+ final Class<?> cls = processMethodContext.getCls();
final Class<?> returnType = getMethod.getReturnType();
- final Method choicesMethod = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.CHOICES_PREFIX + capitalizedName, null, NO_PARAMETERS_TYPES);
+ final Method choicesMethod =
+ MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.CHOICES_PREFIX
+ + capitalizedName, null, NO_PARAMETERS_TYPES);
if (choicesMethod == null) {
return;
- }
+ }
processMethodContext.removeMethod(choicesMethod);
-
+
final FacetHolder property = processMethodContext.getFacetHolder();
- FacetUtil.addFacet(new PropertyChoicesFacetViaMethod(choicesMethod, returnType, property, getSpecificationLookup(), getAdapterMap()));
+ FacetUtil.addFacet(new PropertyChoicesFacetViaMethod(choicesMethod, returnType, property,
+ getSpecificationLookup(), getAdapterMap()));
}
+ // ///////////////////////////////////////////////////////
+ // Dependencies (injected)
+ // ///////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////
- // Dependencies (injected)
- /////////////////////////////////////////////////////////
-
@Override
- public void setAdapterMap(AdapterMap adapterManager) {
+ public void setAdapterMap(final AdapterMap adapterManager) {
this.adapterMap = adapterManager;
- }
+ }
protected AdapterMap getAdapterMap() {
return adapterMap;
- }
-
-}
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.properties.choices.method;
import java.lang.reflect.Method;
@@ -35,20 +34,15 @@ import org.apache.isis.core.metamodel.sp
import org.apache.isis.core.progmodel.facets.CollectionUtils;
import org.apache.isis.core.progmodel.facets.properties.choices.PropertyChoicesFacetAbstract;
-
public class PropertyChoicesFacetViaMethod extends PropertyChoicesFacetAbstract implements ImperativeFacet {
private final Method method;
private final Class<?> choicesClass;
- private final AdapterMap adapterMap;
+ private final AdapterMap adapterMap;
- public PropertyChoicesFacetViaMethod(
- final Method method,
- final Class<?> choicesClass,
- final FacetHolder holder,
- final SpecificationLookup specificationLookup,
- final AdapterMap adapterManager) {
+ public PropertyChoicesFacetViaMethod(final Method method, final Class<?> choicesClass, final FacetHolder holder,
+ final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
super(holder, specificationLookup);
this.method = method;
this.choicesClass = choicesClass;
@@ -56,24 +50,24 @@ public class PropertyChoicesFacetViaMeth
}
/**
- * Returns a singleton list of the {@link Method} provided in the constructor.
+ * Returns a singleton list of the {@link Method} provided in the constructor.
*/
@Override
public List<Method> getMethods() {
- return Collections.singletonList(method);
+ return Collections.singletonList(method);
}
- @Override
+ @Override
public boolean impliesResolve() {
- return true;
- }
+ return true;
+ }
- @Override
+ @Override
public boolean impliesObjectChanged() {
- return false;
- }
+ return false;
+ }
- @Override
+ @Override
public Object[] getChoices(final ObjectAdapter owningAdapter, final SpecificationLookup specificationLookup) {
final Object options = AdapterInvokeUtils.invoke(method, owningAdapter);
if (options == null) {
@@ -86,18 +80,17 @@ public class PropertyChoicesFacetViaMeth
return CollectionUtils.getCollectionAsObjectArray(options, specification, getAdapterMap());
}
- @Override
+ @Override
protected String toStringValues() {
return "method=" + method + ",class=" + choicesClass;
}
- //////////////////////////////////////////////
- // Dependencies
- //////////////////////////////////////////////
-
+ // ////////////////////////////////////////////
+ // Dependencies
+ // ////////////////////////////////////////////
+
protected AdapterMap getAdapterMap() {
return adapterMap;
}
}
-
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetAbstract.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.properties.defaults;
import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -25,7 +24,6 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
-
public abstract class PropertyDefaultFacetAbstract extends FacetAbstract implements PropertyDefaultFacet {
public static Class<? extends Facet> type() {
@@ -37,4 +35,3 @@ public abstract class PropertyDefaultFac
}
}
-
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetNone.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetNone.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetNone.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/PropertyDefaultFacetNone.java Tue Apr 26 22:03:43 2011
@@ -17,30 +17,28 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.defaults;
-package org.apache.isis.core.progmodel.facets.properties.defaults;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-
-public class PropertyDefaultFacetNone extends PropertyDefaultFacetAbstract {
-
- public PropertyDefaultFacetNone(final FacetHolder holder) {
- super(holder);
- }
-
- /**
- * Provides a default of <tt>null</tt>.
- */
- public ObjectAdapter getDefault(final ObjectAdapter inObject) {
- return null;
- }
-
- @Override
- public boolean isNoop() {
- return true;
- }
-
-}
-
+
+public class PropertyDefaultFacetNone extends PropertyDefaultFacetAbstract {
+
+ public PropertyDefaultFacetNone(final FacetHolder holder) {
+ super(holder);
+ }
+
+ /**
+ * Provides a default of <tt>null</tt>.
+ */
+ @Override
+ public ObjectAdapter getDefault(final ObjectAdapter inObject) {
+ return null;
+ }
+
+ @Override
+ public boolean isNoop() {
+ return true;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultDerivedFromTypeFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultDerivedFromTypeFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultDerivedFromTypeFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultDerivedFromTypeFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,7 @@
* under the License.
*/
-
-package org.apache.isis.core.progmodel.facets.properties.defaults.fromtype;
-
+package org.apache.isis.core.progmodel.facets.properties.defaults.fromtype;
import org.apache.isis.core.metamodel.adapter.map.AdapterMap;
import org.apache.isis.core.metamodel.adapter.map.AdapterMapAware;
@@ -29,56 +27,56 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.progmodel.facets.object.defaults.DefaultedFacet;
-
-
-public class PropertyDefaultDerivedFromTypeFacetFactory extends AnnotationBasedFacetFactoryAbstract implements AdapterMapAware {
-
- private AdapterMap adapterMap;
-
- public PropertyDefaultDerivedFromTypeFacetFactory() {
- super(FeatureType.PROPERTIES_ONLY);
- }
-
-
- /**
- * If there is a {@link DefaultedFacet} on the properties return type, then installs a
- * {@link PropertyDefaultFacet} for the property with the same default.
- */
- @Override
- public void process(ProcessMethodContext processMethodContext) {
- // don't overwrite any defaults that might already picked up
- final PropertyDefaultFacet existingDefaultFacet = processMethodContext.getFacetHolder().getFacet(PropertyDefaultFacet.class);
- if (existingDefaultFacet != null && !existingDefaultFacet.isNoop()) {
- return;
- }
-
- // try to infer defaults from the underlying return type
- final Class<?> returnType = processMethodContext.getMethod().getReturnType();
- final DefaultedFacet returnTypeDefaultedFacet = getDefaultedFacet(returnType);
- if (returnTypeDefaultedFacet != null) {
- final PropertyDefaultFacetDerivedFromDefaultedFacet propertyFacet = new PropertyDefaultFacetDerivedFromDefaultedFacet(
- returnTypeDefaultedFacet, processMethodContext.getFacetHolder(), getAdapterMap());
+
+public class PropertyDefaultDerivedFromTypeFacetFactory extends AnnotationBasedFacetFactoryAbstract implements
+ AdapterMapAware {
+
+ private AdapterMap adapterMap;
+
+ public PropertyDefaultDerivedFromTypeFacetFactory() {
+ super(FeatureType.PROPERTIES_ONLY);
+ }
+
+ /**
+ * If there is a {@link DefaultedFacet} on the properties return type, then installs a {@link PropertyDefaultFacet}
+ * for the property with the same default.
+ */
+ @Override
+ public void process(final ProcessMethodContext processMethodContext) {
+ // don't overwrite any defaults that might already picked up
+ final PropertyDefaultFacet existingDefaultFacet =
+ processMethodContext.getFacetHolder().getFacet(PropertyDefaultFacet.class);
+ if (existingDefaultFacet != null && !existingDefaultFacet.isNoop()) {
+ return;
+ }
+
+ // try to infer defaults from the underlying return type
+ final Class<?> returnType = processMethodContext.getMethod().getReturnType();
+ final DefaultedFacet returnTypeDefaultedFacet = getDefaultedFacet(returnType);
+ if (returnTypeDefaultedFacet != null) {
+ final PropertyDefaultFacetDerivedFromDefaultedFacet propertyFacet =
+ new PropertyDefaultFacetDerivedFromDefaultedFacet(returnTypeDefaultedFacet,
+ processMethodContext.getFacetHolder(), getAdapterMap());
FacetUtil.addFacet(propertyFacet);
- }
- }
-
- private DefaultedFacet getDefaultedFacet(final Class<?> paramType) {
- final ObjectSpecification paramTypeSpec =
- getSpecificationLookup().loadSpecification(paramType);
- return paramTypeSpec.getFacet(DefaultedFacet.class);
- }
-
- // ////////////////////////////////////////////////////////////////////
- // Injected
- // ////////////////////////////////////////////////////////////////////
-
+ }
+ }
+
+ private DefaultedFacet getDefaultedFacet(final Class<?> paramType) {
+ final ObjectSpecification paramTypeSpec = getSpecificationLookup().loadSpecification(paramType);
+ return paramTypeSpec.getFacet(DefaultedFacet.class);
+ }
+
+ // ////////////////////////////////////////////////////////////////////
+ // Injected
+ // ////////////////////////////////////////////////////////////////////
+
public AdapterMap getAdapterMap() {
return adapterMap;
}
-
+
@Override
- public void setAdapterMap(AdapterMap adapterMap) {
+ public void setAdapterMap(final AdapterMap adapterMap) {
this.adapterMap = adapterMap;
- }
-
-}
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/fromtype/PropertyDefaultFacetDerivedFromDefaultedFacet.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.properties.defaults.fromtype;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -27,16 +26,13 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
import org.apache.isis.core.progmodel.facets.object.defaults.DefaultedFacet;
-
public class PropertyDefaultFacetDerivedFromDefaultedFacet extends FacetAbstract implements PropertyDefaultFacet {
private final DefaultedFacet typeFacet;
private final AdapterMap adapterMap;
-
- public PropertyDefaultFacetDerivedFromDefaultedFacet(
- final DefaultedFacet typeFacet,
- final FacetHolder holder,
- final AdapterMap adapterManager) {
+
+ public PropertyDefaultFacetDerivedFromDefaultedFacet(final DefaultedFacet typeFacet, final FacetHolder holder,
+ final AdapterMap adapterManager) {
super(PropertyDefaultFacet.class, holder, false);
this.typeFacet = typeFacet;
this.adapterMap = adapterManager;
@@ -45,23 +41,21 @@ public class PropertyDefaultFacetDerived
@Override
public ObjectAdapter getDefault(final ObjectAdapter inObject) {
if (getIdentified() == null) {
- return null;
- }
- Object typeFacetDefault = typeFacet.getDefault();
- if (typeFacetDefault == null) {
- return null;
- }
- return getAdapterMap().adapterFor(typeFacetDefault);
+ return null;
+ }
+ final Object typeFacetDefault = typeFacet.getDefault();
+ if (typeFacetDefault == null) {
+ return null;
+ }
+ return getAdapterMap().adapterFor(typeFacetDefault);
}
-
- ///////////////////////////////////////////////////////
+ // /////////////////////////////////////////////////////
// Dependencies (from constructor)
- ///////////////////////////////////////////////////////
+ // /////////////////////////////////////////////////////
public AdapterMap getAdapterMap() {
return adapterMap;
}
}
-
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.defaults.method;
-package org.apache.isis.core.progmodel.facets.properties.defaults.method;
-
import java.lang.reflect.Method;
import org.apache.isis.core.commons.lang.NameUtils;
@@ -32,52 +31,54 @@ import org.apache.isis.core.metamodel.me
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 PropertyDefaultFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements AdapterMapAware {
-
- private static final String[] PREFIXES = { MethodPrefixConstants.DEFAULT_PREFIX };
-
- private AdapterMap adapterMap;
-
- public PropertyDefaultFacetFactory() {
- super(FeatureType.PROPERTIES_ONLY, PREFIXES);
- }
-
+
+public class PropertyDefaultFacetFactory extends MethodPrefixBasedFacetFactoryAbstract implements AdapterMapAware {
+
+ private static final String[] PREFIXES = { MethodPrefixConstants.DEFAULT_PREFIX };
+
+ private AdapterMap adapterMap;
+
+ public PropertyDefaultFacetFactory() {
+ super(FeatureType.PROPERTIES_ONLY, PREFIXES);
+ }
+
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
attachPropertyDefaultFacetIfDefaultMethodIsFound(processMethodContext);
}
- private void attachPropertyDefaultFacetIfDefaultMethodIsFound(ProcessMethodContext processMethodContext) {
-
+ private void attachPropertyDefaultFacetIfDefaultMethodIsFound(final ProcessMethodContext processMethodContext) {
+
final Method getMethod = processMethodContext.getMethod();
final String capitalizedName = NameUtils.javaBaseName(getMethod.getName());
-
- Class<?> cls = processMethodContext.getCls();
+
+ final Class<?> cls = processMethodContext.getCls();
final Class<?> returnType = getMethod.getReturnType();
- final Method method = MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.DEFAULT_PREFIX + capitalizedName, returnType, NO_PARAMETERS_TYPES);
+ final Method method =
+ MethodFinderUtils.findMethod(cls, MethodScope.OBJECT, MethodPrefixConstants.DEFAULT_PREFIX
+ + capitalizedName, returnType, NO_PARAMETERS_TYPES);
if (method == null) {
return;
- }
+ }
processMethodContext.removeMethod(method);
-
+
final FacetHolder property = processMethodContext.getFacetHolder();
- FacetUtil.addFacet(new PropertyDefaultFacetViaMethod(method, property, getSpecificationLookup(), getAdapterMap()));
+ FacetUtil.addFacet(new PropertyDefaultFacetViaMethod(method, property, getSpecificationLookup(),
+ getAdapterMap()));
}
- /////////////////////////////////////////////////////////
- // Dependencies (injected)
- /////////////////////////////////////////////////////////
-
+ // ///////////////////////////////////////////////////////
+ // Dependencies (injected)
+ // ///////////////////////////////////////////////////////
+
@Override
- public void setAdapterMap(AdapterMap adapterManager) {
+ public void setAdapterMap(final AdapterMap adapterManager) {
this.adapterMap = adapterManager;
- }
+ }
protected AdapterMap getAdapterMap() {
return adapterMap;
- }
-
-}
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/defaults/method/PropertyDefaultFacetViaMethod.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.properties.defaults.method;
import java.lang.reflect.Method;
@@ -34,18 +33,14 @@ import org.apache.isis.core.metamodel.sp
import org.apache.isis.core.metamodel.spec.SpecificationLookup;
import org.apache.isis.core.progmodel.facets.properties.defaults.PropertyDefaultFacetAbstract;
-
public class PropertyDefaultFacetViaMethod extends PropertyDefaultFacetAbstract implements ImperativeFacet {
private final Method method;
- private final SpecificationLookup specificationLookup;
- private final AdapterMap adapterMap;
+ private final SpecificationLookup specificationLookup;
+ private final AdapterMap adapterMap;
- public PropertyDefaultFacetViaMethod(
- final Method method,
- final FacetHolder holder,
- final SpecificationLookup specificationLookup,
- final AdapterMap adapterManager) {
+ public PropertyDefaultFacetViaMethod(final Method method, final FacetHolder holder,
+ final SpecificationLookup specificationLookup, final AdapterMap adapterManager) {
super(holder);
this.method = method;
this.specificationLookup = specificationLookup;
@@ -53,22 +48,22 @@ public class PropertyDefaultFacetViaMeth
}
/**
- * Returns a singleton list of the {@link Method} provided in the constructor.
+ * Returns a singleton list of the {@link Method} provided in the constructor.
*/
@Override
public List<Method> getMethods() {
- return Collections.singletonList(method);
+ return Collections.singletonList(method);
}
- @Override
+ @Override
public boolean impliesResolve() {
- return true;
- }
+ return true;
+ }
- @Override
+ @Override
public boolean impliesObjectChanged() {
- return false;
- }
+ return false;
+ }
@Override
public ObjectAdapter getDefault(final ObjectAdapter owningAdapter) {
@@ -76,36 +71,30 @@ public class PropertyDefaultFacetViaMeth
return createAdapter(method.getReturnType(), result);
}
-
private ObjectAdapter createAdapter(final Class<?> type, final Object object) {
- final ObjectSpecification specification = getSpecificationLookup().loadSpecification(type);
- if (specification.isNotCollection()) {
- return getAdapterMap().adapterFor(object);
- } else {
- throw new UnknownTypeException("not an object, is this a collection?");
- }
- }
-
+ final ObjectSpecification specification = getSpecificationLookup().loadSpecification(type);
+ if (specification.isNotCollection()) {
+ return getAdapterMap().adapterFor(object);
+ } else {
+ throw new UnknownTypeException("not an object, is this a collection?");
+ }
+ }
- @Override
+ @Override
protected String toStringValues() {
return "method=" + method;
}
-
// //////////////////////////////////////////////////////////////////
// Dependencies (from constructor)
// //////////////////////////////////////////////////////////////////
-
private SpecificationLookup getSpecificationLookup() {
- return specificationLookup;
- }
+ return specificationLookup;
+ }
protected AdapterMap getAdapterMap() {
return adapterMap;
}
-
}
-
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/derived/inferred/DerivedFacetInferred.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/derived/inferred/DerivedFacetInferred.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/derived/inferred/DerivedFacetInferred.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/derived/inferred/DerivedFacetInferred.java Tue Apr 26 22:03:43 2011
@@ -17,28 +17,25 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.derived.inferred;
-package org.apache.isis.core.progmodel.facets.properties.derived.inferred;
-
import org.apache.isis.applib.events.UsabilityEvent;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacetAbstract;
import org.apache.isis.core.metamodel.interactions.UsabilityContext;
-
-
-public class DerivedFacetInferred extends NotPersistedFacetAbstract {
-
- public DerivedFacetInferred(final FacetHolder holder) {
- super(holder);
- }
-
- /**
- * Always returns <i>Derived</i>.
- */
- public String disables(final UsabilityContext<? extends UsabilityEvent> ic) {
- return "Derived";
- }
-
-
-}
-
+
+public class DerivedFacetInferred extends NotPersistedFacetAbstract {
+
+ public DerivedFacetInferred(final FacetHolder holder) {
+ super(holder);
+ }
+
+ /**
+ * Always returns <i>Derived</i>.
+ */
+ @Override
+ public String disables(final UsabilityContext<? extends UsabilityEvent> ic) {
+ return "Derived";
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutable.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutable.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutable.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutable.java Tue Apr 26 22:03:43 2011
@@ -17,23 +17,22 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.disabled.fromimmutable;
-package org.apache.isis.core.progmodel.facets.properties.disabled.fromimmutable;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
import org.apache.isis.core.progmodel.facets.members.disable.DisabledFacetAbstract;
-
-
-public class DisabledFacetForPropertyDerivedFromImmutable extends DisabledFacetAbstract {
-
- public DisabledFacetForPropertyDerivedFromImmutable(final ImmutableFacet immutableFacet, final FacetHolder holder) {
- super(immutableFacet.value(), holder);
- }
-
- public String disabledReason(final ObjectAdapter target) {
- return when().isNowFor(target) ? "Immutable" : null;
- }
-
-}
+
+public class DisabledFacetForPropertyDerivedFromImmutable extends DisabledFacetAbstract {
+
+ public DisabledFacetForPropertyDerivedFromImmutable(final ImmutableFacet immutableFacet, final FacetHolder holder) {
+ super(immutableFacet.value(), holder);
+ }
+
+ @Override
+ public String disabledReason(final ObjectAdapter target) {
+ return when().isNowFor(target) ? "Immutable" : null;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/disabled/fromimmutable/DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,7 @@
* under the License.
*/
-
-package org.apache.isis.core.progmodel.facets.properties.disabled.fromimmutable;
-
+package org.apache.isis.core.progmodel.facets.properties.disabled.fromimmutable;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
@@ -28,26 +26,26 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
/**
- * REVIEW: I'm not sure this {@link FacetFactory} actually makes sense. Just because a type is immutable,
- * doesn't imply that the property can't change the instance that it refers to?
- */
-public class DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory extends AnnotationBasedFacetFactoryAbstract {
-
- public DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory() {
- super(FeatureType.PROPERTIES_ONLY);
- }
-
- @Override
- public void process(ProcessMethodContext processMethodContext) {
- ObjectSpecification spec = getSpecificationLookup().loadSpecification(processMethodContext.getMethod().getDeclaringClass());
- if(spec.containsDoOpFacet(ImmutableFacet.class)) {
- final ImmutableFacet immutableFacet = spec.getFacet(ImmutableFacet.class);
+ * REVIEW: I'm not sure this {@link FacetFactory} actually makes sense. Just because a type is immutable, doesn't imply
+ * that the property can't change the instance that it refers to?
+ */
+public class DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory extends AnnotationBasedFacetFactoryAbstract {
+
+ public DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory() {
+ super(FeatureType.PROPERTIES_ONLY);
+ }
+
+ @Override
+ public void process(final ProcessMethodContext processMethodContext) {
+ final ObjectSpecification spec =
+ getSpecificationLookup().loadSpecification(processMethodContext.getMethod().getDeclaringClass());
+ if (spec.containsDoOpFacet(ImmutableFacet.class)) {
+ final ImmutableFacet immutableFacet = spec.getFacet(ImmutableFacet.class);
final FacetedMethod facetHolder = processMethodContext.getFacetHolder();
- FacetUtil.addFacet(new DisabledFacetForPropertyDerivedFromImmutable(immutableFacet, facetHolder));
- }
- }
-
-}
+ FacetUtil.addFacet(new DisabledFacetForPropertyDerivedFromImmutable(immutableFacet, facetHolder));
+ }
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/MandatoryFacetInvertedByOptionalForProperty.java Tue Apr 26 22:03:43 2011
@@ -17,37 +17,36 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.mandatory.annotation;
-package org.apache.isis.core.progmodel.facets.properties.mandatory.annotation;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
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> method.
- *
- * <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);
- }
-
- /**
- * Always returns <tt>false</tt>, indicating that the facet holder is in fact optional.
- */
- public boolean isRequiredButNull(final ObjectAdapter adapter) {
- return false;
- }
-
- public boolean isInvertedSemantics() {
- return true;
- }
-
-}
-
+
+/**
+ * Derived by presence of an <tt>@Optional</tt> method.
+ *
+ * <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);
+ }
+
+ /**
+ * Always returns <tt>false</tt>, indicating that the facet holder is in fact optional.
+ */
+ @Override
+ public boolean isRequiredButNull(final ObjectAdapter adapter) {
+ return false;
+ }
+
+ @Override
+ public boolean isInvertedSemantics() {
+ return true;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/annotation/OptionalAnnotationForPropertyFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,25 +17,23 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.mandatory.annotation;
-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.AnnotationBasedFacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
-
-
-public class OptionalAnnotationForPropertyFacetFactory extends AnnotationBasedFacetFactoryAbstract {
-
- public OptionalAnnotationForPropertyFacetFactory() {
- super(FeatureType.PROPERTIES_ONLY);
- }
+
+public class OptionalAnnotationForPropertyFacetFactory extends AnnotationBasedFacetFactoryAbstract {
+
+ public OptionalAnnotationForPropertyFacetFactory() {
+ super(FeatureType.PROPERTIES_ONLY);
+ }
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
final Class<?> returnType = processMethodContext.getMethod().getReturnType();
if (returnType.isPrimitive()) {
return;
@@ -47,8 +45,8 @@ public class OptionalAnnotationForProper
FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder()));
}
- private MandatoryFacet create(final Optional annotation, final FacetHolder holder) {
- return annotation != null ? new MandatoryFacetInvertedByOptionalForProperty(holder) : null;
- }
-
-}
+ private MandatoryFacet create(final Optional annotation, final FacetHolder holder) {
+ return annotation != null ? new MandatoryFacetInvertedByOptionalForProperty(holder) : null;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/dflt/MandatoryDefaultForPropertiesFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,7 @@
* under the License.
*/
-
-package org.apache.isis.core.progmodel.facets.properties.mandatory.dflt;
-
+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;
@@ -29,29 +27,28 @@ import org.apache.isis.core.metamodel.fa
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(ProcessMethodContext processMethodContext) {
- FacetUtil.addFacet(create(processMethodContext.getFacetHolder()));
- }
-
- private MandatoryFacet create(final FacetHolder holder) {
- return new MandatoryFacetDefault(holder);
- }
-
-}
+
+/**
+ * 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);
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/MandatoryFacetOptionalViaMethodForProperty.java Tue Apr 26 22:03:43 2011
@@ -17,37 +17,36 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.mandatory.staticmethod;
-package org.apache.isis.core.progmodel.facets.properties.mandatory.staticmethod;
-
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
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);
- }
-
- /**
- * Always returns <tt>false</tt>, indicating that the facet holder is in fact optional.
- */
- public boolean isRequiredButNull(final ObjectAdapter adapter) {
- return false;
- }
-
- public boolean isInvertedSemantics() {
- return true;
- }
-
-}
-
+
+/**
+ * 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);
+ }
+
+ /**
+ * Always returns <tt>false</tt>, indicating that the facet holder is in fact optional.
+ */
+ @Override
+ public boolean isRequiredButNull(final ObjectAdapter adapter) {
+ return false;
+ }
+
+ @Override
+ public boolean isInvertedSemantics() {
+ return true;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/mandatory/staticmethod/PropertyOptionalFacetFactory.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.mandatory.staticmethod;
-package org.apache.isis.core.progmodel.facets.properties.mandatory.staticmethod;
-
import java.lang.reflect.Method;
import org.apache.isis.core.commons.lang.NameUtils;
@@ -32,39 +31,40 @@ import org.apache.isis.core.metamodel.me
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, PREFIXES);
- }
-
+
+public class PropertyOptionalFacetFactory extends MethodPrefixBasedFacetFactoryAbstract {
+
+ private static final String[] PREFIXES = { MethodPrefixConstants.OPTIONAL_PREFIX };
+
+ public PropertyOptionalFacetFactory() {
+ super(FeatureType.PROPERTIES_ONLY, PREFIXES);
+ }
+
@Override
- public void process(ProcessMethodContext processMethodContext) {
+ public void process(final ProcessMethodContext processMethodContext) {
attachMandatoryFacetIfOptionalMethodIsFound(processMethodContext);
}
- private static void attachMandatoryFacetIfOptionalMethodIsFound(ProcessMethodContext processMethodContext) {
+ private static void attachMandatoryFacetIfOptionalMethodIsFound(final ProcessMethodContext processMethodContext) {
final Method method = processMethodContext.getMethod();
-
+
final String capitalizedName = NameUtils.javaBaseName(method.getName());
final Class<?> returnType = method.getReturnType();
-
- Class<?> cls = processMethodContext.getCls();
- final Method optionalMethod = MethodFinderUtils.findMethod(cls, MethodScope.CLASS, MethodPrefixConstants.OPTIONAL_PREFIX + capitalizedName, boolean.class, NO_PARAMETERS_TYPES);
+
+ 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");
- }
+ 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));
}
@@ -74,16 +74,15 @@ public class PropertyOptionalFacetFactor
Boolean optionalMethodReturnValue = null;
try {
optionalMethodReturnValue = (Boolean) InvokeUtils.invoke(method, new Object[0]);
- } catch (ClassCastException ex) {
+ } catch (final ClassCastException ex) {
// ignore
}
- if(optionalMethodReturnValue==null) {
- throw new MetaModelException("method " + method + " should return a boolean" );
+ if (optionalMethodReturnValue == null) {
+ throw new MetaModelException("method " + method + " should return a boolean");
}
return optionalMethodReturnValue.booleanValue();
}
return false;
}
-
}
\ No newline at end of file
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaClearMethod.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.modify;
-package org.apache.isis.core.progmodel.facets.properties.modify;
-
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.List;
@@ -29,41 +28,42 @@ import org.apache.isis.core.metamodel.ad
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
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.
- */
- public List<Method> getMethods() {
- return Collections.singletonList(method);
- }
-
- public boolean impliesResolve() {
- return true;
- }
-
- public boolean impliesObjectChanged() {
- return true;
- }
-
- public void clearProperty(final ObjectAdapter owningAdapter) {
- AdapterInvokeUtils.invoke(method, owningAdapter);
- }
-
- @Override
- protected String toStringValues() {
- return "method=" + method;
- }
-
-}
+
+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 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;
+ }
+
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyClearFacetViaSetterMethod.java Tue Apr 26 22:03:43 2011
@@ -17,7 +17,6 @@
* under the License.
*/
-
package org.apache.isis.core.progmodel.facets.properties.modify;
import java.lang.reflect.Method;
@@ -30,33 +29,34 @@ import org.apache.isis.core.metamodel.fa
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
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) {
+ 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.
+ * Returns a singleton list of the {@link Method} provided in the constructor.
*/
+ @Override
public List<Method> getMethods() {
- return Collections.singletonList(method);
+ return Collections.singletonList(method);
}
- public boolean impliesResolve() {
- return true;
- }
+ @Override
+ public boolean impliesResolve() {
+ return true;
+ }
- public boolean impliesObjectChanged() {
- return true;
- }
+ @Override
+ public boolean impliesObjectChanged() {
+ return true;
+ }
+ @Override
public void clearProperty(final ObjectAdapter owningAdapter) {
AdapterInvokeUtils.invoke(method, owningAdapter);
}
@@ -67,4 +67,3 @@ public class PropertyClearFacetViaSetter
}
}
-
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetAbstract.java Tue Apr 26 22:03:43 2011
@@ -17,22 +17,20 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.modify;
-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, false);
- }
-}
+
+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, false);
+ }
+}
Modified: incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java?rev=1096928&r1=1096927&r2=1096928&view=diff
==============================================================================
--- incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java (original)
+++ incubator/isis/trunk/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/properties/modify/PropertyInitializationFacetViaSetterMethod.java Tue Apr 26 22:03:43 2011
@@ -17,9 +17,8 @@
* under the License.
*/
+package org.apache.isis.core.progmodel.facets.properties.modify;
-package org.apache.isis.core.progmodel.facets.properties.modify;
-
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.List;
@@ -28,41 +27,43 @@ import org.apache.isis.core.metamodel.ad
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.
- */
- public List<Method> getMethods() {
- return Collections.singletonList(method);
- }
-
- public boolean impliesResolve() {
- return false;
- }
-
- public boolean impliesObjectChanged() {
- return false;
- }
-
- public void initProperty(final ObjectAdapter owningAdapter, final ObjectAdapter initialAdapter) {
- AdapterInvokeUtils.invoke(method, owningAdapter, initialAdapter );
- }
-
- @Override
- protected String toStringValues() {
- return "method=" + method;
- }
-
-}
+
+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 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;
+ }
+
+}