Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright 2013 SAP AG Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. /
 
 package com.sap.core.odata.core.edm.provider;
 
 import java.util.List;
 import java.util.Map;
 

Author(s):
SAP AG
 
 public abstract class EdmStructuralTypeImplProv extends EdmNamedImplProv implements EdmStructuralTypeEdmAnnotatable {
 
   protected EdmStructuralType edmBaseType;
   protected ComplexType structuralType;
   private EdmTypeKind edmTypeKind;
   protected String namespace;
   protected Map<StringEdmTypededmProperties;
   private Map<StringPropertyproperties;
   private List<StringedmPropertyNames;
 
   public EdmStructuralTypeImplProv(final EdmImplProv edmfinal ComplexType structuralTypefinal EdmTypeKind edmTypeKindfinal String namespacethrows EdmException {
     super(edmstructuralType.getName());
     this. = structuralType;
     this. = namespace;
     this. = edmTypeKind;
 
     resolveBaseType();
 
 
      = new HashMap<StringEdmTyped>();
   }
 
   private void resolveBaseType() throws EdmException {
     if (fqName != null) {
       if (..equals()) {
          = .getComplexType(fqName.getNamespace(), fqName.getName());
       } else if (..equals()) {
          = .getEntityType(fqName.getNamespace(), fqName.getName());
       }
       if ( == null) {
         throw new EdmException(.);
       }
     }
   }
 
   private void buildPropertiesInternal() throws EdmException {
      = new HashMap<StringProperty>();
 
     if (.getProperties() != null) {
       for (final Property property : .getProperties()) {
         .put(property.getName(), property);
       }
     }
   }
 
   @Override
   public String getNamespace() throws EdmException {
     return ;
   }
 
   @Override
   public EdmTyped getProperty(final String namethrows EdmException {
     EdmTyped property = .get(name);
     if (property == null) {
       property = getPropertyInternal(name);
       if (property == null &&  != null) {
         property = .getProperty(name);
       }
     }
    return property;
  }
  public List<StringgetPropertyNames() throws EdmException {
    if ( == null) {
       = new ArrayList<String>();
      if ( != null) {
      }
      if (.getProperties() != null) {
        for (final Property property : .getProperties()) {
          .add(property.getName());
        }
      }
    }
    return ;
  }
  public EdmStructuralType getBaseType() throws EdmException {
    return ;
  }
  public EdmTypeKind getKind() {
    return ;
  }
  public EdmMapping getMapping() throws EdmException {
    return .getMapping();
  }
  protected EdmTyped getPropertyInternal(final String namethrows EdmException {
    EdmTyped edmProperty = null;
    if (.containsKey(name)) {
      edmProperty = createProperty(.get(name));
      .put(nameedmProperty);
    } else if ( != null) {
      edmProperty = .getProperty(name);
      if (edmProperty != null) {
        .put(nameedmProperty);
      }
    }
    return edmProperty;
  }
  protected EdmTyped createProperty(final Property propertythrows EdmException {
    if (property instanceof SimpleProperty) {
      return new EdmSimplePropertyImplProv(, (SimplePropertyproperty);
    } else if (property instanceof ComplexProperty) {
      return new EdmComplexPropertyImplProv(, (ComplexPropertyproperty);
    } else {
      throw new EdmException(.);
    }
  }
  public String toString() {
    try {
      return  + . + getName();
    } catch (final EdmException e) {
      return null;
    }
  }
New to GrepCode? Check out our FAQ X