Package org.apache.isis.core.metamodel.spec

Examples of org.apache.isis.core.metamodel.spec.ObjectSpecification


    private DescribedAsFacet create(final DescribedAs annotation, final FacetHolder holder) {
        return annotation == null ? null : new DescribedAsFacetAnnotationOnParameter(annotation.value(), holder);
    }

    private DescribedAsFacet getDescribedAsFacet(final Class<?> type) {
        final ObjectSpecification paramTypeSpec = getSpecificationLoader().loadSpecification(type);
        return paramTypeSpec.getFacet(DescribedAsFacet.class);
    }
View Full Code Here


            FacetUtil.addFacet(propertyFacet);
        }
    }

    private DefaultedFacet getDefaultedFacet(final Class<?> paramType) {
        final ObjectSpecification paramTypeSpec = getSpecificationLoader().loadSpecification(paramType);
        return paramTypeSpec.getFacet(DefaultedFacet.class);
    }
View Full Code Here

            return new Object[0];
        }
        if (choices.getClass().isArray()) {
            return ObjectExtensions.asArray(choices);
        } else {
            final ObjectSpecification specification = getSpecification(choicesType);
            return CollectionUtils.getCollectionAsObjectArray(choices, specification, getAdapterManager());
        }
    }
View Full Code Here

    @Override
    public Object[] getChoices(final ObjectAdapter adapter, final List<ObjectAdapter> arguments) {
        final FacetHolder facetHolder = getFacetHolder();
        final TypedHolder paramPeer = (TypedHolder) facetHolder;
        final ObjectSpecification noSpec = getSpecification(paramPeer.getType());
        final ChoicesFacet choicesFacet = noSpec.getFacet(ChoicesFacet.class);
        if (choicesFacet == null) {
            return new Object[0];
        }
        return choicesFacet.getChoices(adapter);
    }
View Full Code Here

            if (options[i] == null) {
                results[i] = null;
            } else if (options[i].getClass().isArray()) {
                results[i] = ObjectExtensions.asArray(options[i]);
            } else {
                final ObjectSpecification specification = getSpecificationLookup().loadSpecification(choicesType);
                results[i] = CollectionUtils.getCollectionAsObjectArray(options[i], specification, getAdapterMap());
            }
        }
        return results;
    }
View Full Code Here

        if (objects.contains(adapter.getObject())) {
            return;
        }
        objects.add(adapter.getObject());

        final ObjectSpecification adapterSpec = adapter.getSpecification();
        final List<ObjectAssociation> associations = adapterSpec.getAssociations(Contributed.EXCLUDED);
        for (final ObjectAssociation association : associations) {
            if (association.isNotPersisted()) {
                continue;
            }
View Full Code Here

    private void saveData(final PrintWriter writer, final ObjectAdapter adapter, final SavedObjects saved) {
        final String id = saved.getId(adapter);
        writer.println(adapter.getSpecification().getFullIdentifier() + "#" + id);

        final ObjectSpecification adapterSpec = adapter.getSpecification();
        final List<ObjectAssociation> associations = adapterSpec.getAssociations(Contributed.EXCLUDED);
        for (final ObjectAssociation association : associations) {
            if (association.isNotPersisted()) {
                continue;
            }
View Full Code Here

import org.apache.isis.core.runtime.system.context.IsisContext;

public class PojoRecreatorDefault implements PojoRecreator {

    public Object recreatePojo(final TypedOid oid) {
        final ObjectSpecification spec = getSpecificationLoader().lookupBySpecId(oid.getObjectSpecId());
        final Object pojo = spec.createObject();
        if(oid.isViewModel()) {
            // initialize the view model pojo from the oid's identifier
           
            final ViewModelFacet facet = spec.getFacet(ViewModelFacet.class);
            if(facet == null) {
                throw new IllegalArgumentException("spec does not have ViewModelFacet; " + oid.toString() + "; spec is " + spec.getFullIdentifier());
            }

            // a slight compromise? close enough.
            if(!(oid instanceof RootOid)) {
                throw new IllegalArgumentException("oid is view model but not a RootOid; " + oid.toString());
View Full Code Here

        return new CollectionData(adapter.getOid(), elementTypeSpecName, collData);
    }

    private ObjectData createObjectData(final ObjectAdapter adapter) {
        transientObjects.add(adapter.getOid());
        final ObjectSpecification cls = adapter.getSpecification();
        final List<ObjectAssociation> associations = cls.getAssociations(Contributed.EXCLUDED);
        final ObjectData data = new ObjectData(adapter.getOid(), cls.getFullIdentifier());
        for (int i = 0; i < associations.size(); i++) {
            if (associations.get(i).isNotPersisted()) {
                if (associations.get(i).isOneToManyAssociation()) {
                    continue;
                }
View Full Code Here

    public ObjectAdapter recreateObject() {
        if (data == null) {
            return null;
        }
        final ObjectSpecification spec =
                getSpecificationLoader().loadSpecification(data.getClassName());

        ObjectAdapter adapter;
       
        final Oid oid = getOid();
    if (spec.isParentedOrFreeCollection()) {
         
          final Object recreatedPojo = spec.createObject();
          adapter = getPersistenceSession().mapRecreatedPojo(oid, recreatedPojo);
            populateCollection(adapter, (CollectionData) data);
           
        } else {
          Assert.assertTrue("oid must be a TypedOid representing an object because spec is not a collection and cannot be a value", oid instanceof TypedOid);
View Full Code Here

TOP

Related Classes of org.apache.isis.core.metamodel.spec.ObjectSpecification

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.