Package org.openiaml.emf.properties

Source Code of org.openiaml.emf.properties.EMFPropertiesLibrary

/**
*
*/
package org.openiaml.emf.properties;

import java.util.ArrayList;
import java.util.List;

import org.openiaml.emf.properties.library.AttributesCount;
import org.openiaml.emf.properties.library.AttributesCountIgnoreDefault;
import org.openiaml.emf.properties.library.ContainmentsCount;
import org.openiaml.emf.properties.library.ContainmentsCountIgnoreEmpty;
import org.openiaml.emf.properties.library.ContainmentsDiameter;
import org.openiaml.emf.properties.library.ContainmentsRadius;
import org.openiaml.emf.properties.library.ContainmentsSum;
import org.openiaml.emf.properties.library.CyclomaticComplexity;
import org.openiaml.emf.properties.library.DistinctAttributeValueStrings;
import org.openiaml.emf.properties.library.DistinctAttributeValues;
import org.openiaml.emf.properties.library.DistinctContainments;
import org.openiaml.emf.properties.library.DistinctReferences;
import org.openiaml.emf.properties.library.DistinctSupertypes;
import org.openiaml.emf.properties.library.DistinctTypes;
import org.openiaml.emf.properties.library.ElementsCount;
import org.openiaml.emf.properties.library.MaxDegreeAttributes;
import org.openiaml.emf.properties.library.MaxDegreeContainments;
import org.openiaml.emf.properties.library.MaxDegreeReferences;
import org.openiaml.emf.properties.library.MaxDegreeReferencesWithoutContainments;
import org.openiaml.emf.properties.library.MaxInheritanceHeight;
import org.openiaml.emf.properties.library.MinDegreeAttributes;
import org.openiaml.emf.properties.library.MinDegreeContainments;
import org.openiaml.emf.properties.library.MinDegreeReferences;
import org.openiaml.emf.properties.library.MinDegreeReferencesWithoutContainments;
import org.openiaml.emf.properties.library.ReferencesCount;
import org.openiaml.emf.properties.library.ReferencesCountIgnoreEmpty;
import org.openiaml.emf.properties.library.ReferencesCycles;
import org.openiaml.emf.properties.library.ReferencesDiameter;
import org.openiaml.emf.properties.library.ReferencesRadius;
import org.openiaml.emf.properties.library.ReferencesSum;
import org.openiaml.emf.properties.library.ReferencesWithoutContainmentsCount;
import org.openiaml.emf.properties.library.ReferencesWithoutContainmentsCountIgnoreEmpty;
import org.openiaml.emf.properties.library.ReferencesWithoutContainmentsCycles;
import org.openiaml.emf.properties.library.ReferencesWithoutContainmentsDiameter;
import org.openiaml.emf.properties.library.ReferencesWithoutContainmentsRadius;
import org.openiaml.emf.properties.library.ReferencesWithoutContainmentsSum;
import org.openiaml.emf.properties.library.RootContainmentsHeight;
import org.openiaml.emf.properties.library.SupertypesCount;

/**
* Provides a single static method to get a list of <em>all</em>
* EMF properties in this library.
*
* @author jmwright
*
*/
public class EMFPropertiesLibrary {

  /**
   * Return a list of <em>all</em> EMF properties within this
   * library of property investigators. Not all of these properties
   * will be useful.
   *
   * @param selector allows for selective properties investigation
   * @return A list of EMF property investigators
   */
  public static List<IPropertyInvestigator> getAllEMFProperties(IEMFElementSelector selector) {
    List<IPropertyInvestigator> investigators = new ArrayList<IPropertyInvestigator>();

    investigators.add(new AttributesCount(selector));
    investigators.add(new AttributesCountIgnoreDefault(selector));
    investigators.add(new ContainmentsCount(selector));
    investigators.add(new ContainmentsCountIgnoreEmpty(selector));
    investigators.add(new ContainmentsDiameter(selector));
    investigators.add(new ContainmentsRadius(selector));
    investigators.add(new ContainmentsSum(selector));
    //investigators.add(new CountTypes(selector)); - needs a parameter
    investigators.add(new CyclomaticComplexity(selector));
    investigators.add(new DistinctAttributeValues(selector));
    investigators.add(new DistinctAttributeValueStrings(selector));
    investigators.add(new DistinctContainments(selector));
    investigators.add(new DistinctReferences(selector));
    investigators.add(new DistinctSupertypes(selector));
    investigators.add(new DistinctTypes(selector));
    investigators.add(new ElementsCount(selector));
    investigators.add(new MaxDegreeAttributes(selector));
    investigators.add(new MaxDegreeContainments(selector));
    investigators.add(new MaxDegreeReferences(selector));
    investigators.add(new MaxDegreeReferencesWithoutContainments(selector));
    investigators.add(new MaxInheritanceHeight(selector));
    investigators.add(new MinDegreeAttributes(selector));
    investigators.add(new MinDegreeContainments(selector));
    investigators.add(new MinDegreeReferences(selector));
    investigators.add(new MinDegreeReferencesWithoutContainments(selector));
    investigators.add(new ReferencesCount(selector));
    investigators.add(new ReferencesCountIgnoreEmpty(selector));
    investigators.add(new ReferencesCycles(selector));
    investigators.add(new ReferencesDiameter(selector));
    investigators.add(new ReferencesRadius(selector));
    investigators.add(new ReferencesSum(selector));
    investigators.add(new ReferencesWithoutContainmentsCount(selector));
    investigators.add(new ReferencesWithoutContainmentsCountIgnoreEmpty(selector));
    investigators.add(new ReferencesWithoutContainmentsCycles(selector));
    investigators.add(new ReferencesWithoutContainmentsDiameter(selector));
    investigators.add(new ReferencesWithoutContainmentsRadius(selector));
    investigators.add(new ReferencesWithoutContainmentsSum(selector));
    investigators.add(new RootContainmentsHeight(selector));
    investigators.add(new SupertypesCount(selector));
   
    return investigators;
  }
 
}
TOP

Related Classes of org.openiaml.emf.properties.EMFPropertiesLibrary

TOP
Copyright © 2018 www.massapi.com. 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.