@ Override public OrientEdge addEdge ( final Object id , Vertex outVertex , Vertex inVertex , final String label ) { makeActive ( ) ; String className = null ; String clusterName = null ; if ( id != null ) { if ( id instanceof String ) { // PARSE ARGUMENTS final String [ ] args = ( ( String ) id ) . split ( "," ) ; for ( String s : args ) { if ( s . startsWith ( CLASS_PREFIX ) ) // GET THE CLASS NAME className = s . substring ( CLASS_PREFIX . length ( ) ) ; else if ( s . startsWith ( CLUSTER_PREFIX ) ) // GET THE CLASS NAME clusterName = s . substring ( CLUSTER_PREFIX . length ( ) ) ; } } } // SAVE THE ID TOO? final Object [ ] fields = isSaveOriginalIds ( ) && id != null ? new Object [ ] { OrientElement . DEF_ORIGINAL_ID_FIELDNAME , id } : null ; if ( outVertex instanceof PartitionVertex ) // WRAPPED: GET THE BASE VERTEX outVertex = ( ( PartitionVertex ) outVertex ) . getBaseVertex ( ) ; if ( inVertex instanceof PartitionVertex ) // WRAPPED: GET THE BASE VERTEX inVertex = ( ( PartitionVertex ) inVertex ) . getBaseVertex ( ) ; return ( ( OrientVertex ) outVertex ) . addEdge ( label , ( OrientVertex ) inVertex , className , clusterName , fields ) ; }
Creates an edge between a source Vertex and a destination Vertex setting label as Edge s label .